一个面板类
class CPanel : public CWnd
{
public:
   CToolBar m_wndToolBar;
   CTreeCtrl m_wndTree;
};一个面板管理类
class CPanelManage : public CWnd
{
public:
   CPanel m_wndFilePanle;
   CPanel m_wndListPanel;
};CPanelManage的对象作为ControlBar实现,停靠在主窗口边上。
我想在CPanel中处理工具栏按钮的消息,消息都添加了,就是按钮一直是灰色的。
我不想在别的地方处理工具栏按钮事件,请问如何处理?

解决方案 »

  1.   

    pCmdUI->Enable(TRUE & !schedforce);
      

  2.   

    MFC框架是在OnIdle()中刷新界面元素的,但是不会调用子窗口的刷新;要么自己刷新界面,要么手动设置工具栏按钮的状态。
      

  3.   

    为工具栏对应各ID实现WM_COMMAND响应代码即可。
      

  4.   

    这些方法都试过了,不过仍旧没有解决。
    但,谢谢各位。ON_COMMAND( ID_TASKFOLDER_SAVE, OnTaskFolderSave )
    ON_UPDATE_COMMAND_UI( ID_TASKFOLDER_ADDITION, OnUpdateTaskFolderAddition )void CFolderPanel::OnUpdateTaskFolderAddition( CCmdUI *pCmdUI )
    {
        pCmdUI->Enable( TRUE );
    }我的这个面板是放在一个CSplitterWnd之上的,这个拆分窗口又放在CBCGPDockingBar(BCGP界面库)之上,消息总是到达不了。