码迷,mamicode.com
首页 > 其他好文 > 详细

关于模态/非模态对话框不响应菜单的UPDATE_COMMAND_UI消息(对对WM_INITMENUPOPUP消息的处理)

时间:2016-10-27 07:53:16      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:message   data   strong   psu   submenu   count()   log   data-   href   

对于模态非模态对话框默认是不响应菜单的UPDATE_COMMAND_UI消息的,需要增加对WM_INITMENUPOPUP消息的处理以后,才可以响应UPDATE_COMMAND_UI。

 

[cpp] view plain copy
 
  1. void CXXXDlg::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu)  
  2. {  
  3.  CDialog::OnInitMenuPopup(pPopupMenu, nIndex, bSysMenu);  
  4.   
  5. // TODO: Add your message handler code here  
  6.   
  7.  if(!bSysMenu && pPopupMenu)  
  8.  {  
  9.   CCmdUI cmdUI;  
  10.   cmdUI.m_pOther = NULL;  
  11.   cmdUI.m_pMenu = pPopupMenu;  
  12.   cmdUI.m_pSubMenu = NULL;  
  13.   
  14.   UINT count = pPopupMenu->GetMenuItemCount();  
  15.   cmdUI.m_nIndexMax = count;  
  16.   for(UINT i=0; i<count; i++)  
  17.   {  
  18.    UINT nID = pPopupMenu->GetMenuItemID(i);  
  19.    if(-1 == nID || 0 == nID)  
  20.    {  
  21.     continue;  
  22.    }  
  23.    cmdUI.m_nID = nID;  
  24.    cmdUI.m_nIndex = i;  
  25.    cmdUI.DoUpdate(this, FALSE);  
  26.   }  
  27.  }   
  28. }   
 
http://blog.csdn.net/visualeleven/article/details/5513648

 

 

关于模态/非模态对话框不响应菜单的UPDATE_COMMAND_UI消息(对对WM_INITMENUPOPUP消息的处理)

标签:message   data   strong   psu   submenu   count()   log   data-   href   

原文地址:http://www.cnblogs.com/findumars/p/6002464.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!