2009-01-05 30 views
7

Làm cách nào để ẩn mục menu trong các điều kiện nhất định trong MFC?
Tôi không quan tâm đến việc chuyển sang màu xám.Ẩn mục menu trong MFC

Trả lời

13

Thêm Trình xử lý cập nhật cho mục menu của bạn (sử dụng ON_UPDATE_COMMAND_UI).

Dòng này sẽ xuất hiện trong bản đồ thông điệp của bạn:

ON_UPDATE_COMMAND_UI(ID_MYMENUITEM, OnUpdateMyMenuItem) 

Trong xử lý, sử dụng mã này:

void CMainFrame::OnUpdateMyMenuItem(CCmdUI *pCmdUI) 
{ 
    if (pCmdUI->m_pMenu!=NULL) 
    pCmdUI->m_pMenu->DeleteMenu(pCmdUI->m_nID, MF_BYCOMMAND); 
} 
+1

Gặp sự cố khi nhận con trỏ hợp lệ đến đối tượng CMenu chính xác - mã này đã thực hiện thủ thuật! – GTAE86

2

Hoặc nếu bạn đang loại bỏ một mục menu đơn sử dụng CMenu :: RemoveMenu

Các vấn đề liên quan