在 MFC 中,CDockablePane 类通常用于创建可停靠的窗格。要处理命令更新(OnUpdateCmdUI),您可以覆盖该类中的对应方法。以下是一个简单的示例:
// YourDockablePane.h
#pragma once
#include "afxwin.h"

class YourDockablePane : public CDockablePane
{
    DECLARE_DYNAMIC(YourDockablePane)

public:
    YourDockablePane();
    virtual ~YourDockablePane();

protected:
    DECLARE_MESSAGE_MAP()

public:
    afx_msg void OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler);
};

// YourDockablePane.cpp
#include "YourDockablePane.h"

IMPLEMENT_DYNAMIC(YourDockablePane, CDockablePane)

YourDockablePane::YourDockablePane()
{
}

YourDockablePane::~YourDockablePane()
{
}

BEGIN_MESSAGE_MAP(YourDockablePane, CDockablePane)
    ON_UPDATE_COMMAND_UI(IDC_YOUR_COMMAND, &YourDockablePane::OnUpdateCmdUI)
END_MESSAGE_MAP()

void YourDockablePane::OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHandler)
{
    // 处理命令更新的逻辑
    // 在这里添加您的代码

    CDockablePane::OnUpdateCmdUI(pTarget, bDisableIfNoHandler);
}

在上述代码中,IDC_YOUR_COMMAND 是您希望处理的特定命令的标识符。请替换为您实际使用的命令标识符。在 OnUpdateCmdUI 方法中,您可以添加逻辑以更新用户界面元素的状态,例如启用/禁用按钮、菜单项等。

确保将代码适应您的实际情况,并将其添加到您的项目中。


转载请注明出处:http://www.zyzy.cn/article/detail/21692/MFC/CPaneDialog