在 MFC 中,CCmdUI::m_nID 是 CCmdUI 类的一个公共数据成员,用于存储与 UI 元素相关联的命令标识符(ID)。这成员变量通常用于在 ON_UPDATE_COMMAND_UI 消息处理程序中检查和操作特定的命令。

以下是关于 CCmdUI::m_nID 的简要说明:
UINT m_nID;

  •  功能: m_nID 成员变量存储与 UI 元素相关联的命令标识符。你可以在 ON_UPDATE_COMMAND_UI 处理程序中使用这个成员变量来判断是哪个命令的状态正在被更新,以便采取相应的操作。


以下是一个示例,展示如何在 ON_UPDATE_COMMAND_UI 处理程序中使用 m_nID:
void CMyView::OnUpdateMyCommand(CCmdUI* pCmdUI)
{
    // 获取与 UI 元素相关联的命令标识符
    UINT nCmdID = pCmdUI->m_nID;

    // 根据命令标识符进行相应的处理
    switch (nCmdID)
    {
    case IDM_MY_COMMAND:
        // 根据需要更新 MyCommand 的状态
        pCmdUI->Enable(TRUE);
        pCmdUI->SetCheck(IsMyCommandChecked());
        pCmdUI->SetText(GetTextForMyCommand());
        break;
    // 其他命令的处理...
    }
}

在上述示例中,m_nID 成员变量用于获取与 UI 元素相关联的命令标识符,然后根据不同的命令进行相应的处理。这是一种在 ON_UPDATE_COMMAND_UI 处理程序中根据命令标识符动态更新 UI 元素状态的典型用法。


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