本人写的一个基于Dialog的程序,在Dialog上LoadToolBar()载入工具栏图标,现在想禁用某个图标,网上有说响应UPDATE_COMMAND_UI消息来设置;这在基于Document的模式下是可以的,但在Dialog模式下好象不行,有哪位高手知道该如何禁用或解禁工具栏图标?

解决方案 »

  1.   

    这个我不太清楚 不过我想要是你可以自己做一些想要的图标 然后再loadbitmap过来 图标又漂亮又好看 又实用...(卖广告~)
      

  2.   

    网上有,你可以搜到
      BOOL   CMainDlg::ContinueModal()   
      {   
      if(   m_wndToolBar.IsWindowVisible()   )   
      {   
      CFrameWnd*   pParent   =   (   CFrameWnd*   )   m_wndToolBar.GetParent();   
      if(   pParent   )   
            m_wndToolBar.OnUpdateCmdUI(   pParent,   (   WPARAM   )   TRUE   );   
      }   
        
      CMenu*   pMainMenu   =   GetMenu();   
      CCmdUI   cmdUI;   
      for   (UINT   n   =   0;   n   <   pMainMenu->GetMenuItemCount();   ++n)   
      {   
      CMenu*   pSubMenu   =   pMainMenu->GetSubMenu(n);   
      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);   
      }   
      }   
      return   CDialog::ContinueModal();   
      }   
    自己改改吧
      

  3.   

    谢谢一二楼,hotsea()强....散分结帖。
      

  4.   

    没有吗?我给了啊,还有个问题,就是在鼠标放在图标上后会出现一个文本提示,这在Dialog模式下好象也不会有,该如何为图标加上文本提示呢?