對話方塊的選單、控制元件使用COMMAND_UI (轉)

worldblog發表於2007-12-09
對話方塊的選單、控制元件使用COMMAND_UI (轉)[@more@]

 

對話方塊的選單和無法使用COMMAND_UI

下面方法最簡單、最實用的實現了。

//CXxxDlg.h ///////////////

//重載WM_MENU
afx_msg void OnMenuSelect(UINT nItemID, UINT nFlags, HMENU hSysMenu);

//CXxxDlg.cpp ///////////////


//訊息對映
ON_WM_MENUSELECT()
//訊息對映結束


void CXxxDlg::OnMenuSelect(UINT nItemID, UINT nFlags, HMENU hSysMenu)
{
 //CDialog::OnMenuSelect(nItemID, nFlags, hSysMenu);
 
 
 CCmdUI cmdUI;
 CMenu* pMainMenu = GetMenu();
 CMenu* pSubMenu = pMainMenu-> GetSubMenu(nItemID);
 if(IsMenu(pSubMenu->GetSafeHmenu()))
 {
 cmdUI.m_nIndexMax = pSubMenu->GetMenuItemCount();
 for (UINT i = 0; i < cmdUI.m_nIndexMax;++i)
 {
 cmdUI.m_nIndex = i;
 cmdUI.m_nID = pSubMenu->GetMenuItemID(i);
 cmdUI.m_pMenu = pSubMenu;
 cmdUI.DoUpdate(this, FALSE);
 }
 }
 
}

//十分簡單,十分好用:)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990373/,如需轉載,請註明出處,否則將追究法律責任。

相關文章