VC++开发GIS系统(58)补充知识MFC中Ribbon界面Checkbox的使用方法

在之前的文章中已经介绍过关于Ribbon界面中添加按钮(button)给按钮Ribbon添加图标,今天介绍一个后面要用到的新的控件——checkbox

首先看效果:

这里我们要实现一个通过checbox打开/关闭工程面板。方法如下:

1. 添加checkbox

在资源视图Ribbon下添加一个checkbox,这是一个体力活,不多说。

2. 响应点击事件

右击checkbox,选择添加“添加事件处理程序”,如图:

注意红框中的选择,然后在MainFrm.cpp中找到这个函数,添加响应

void CMainFrame::OnCheckFileManage()
{
    // TODO:  在此添加命令处理程序代码
    
    if (isShowFileManage)
    {
        MessageBox(L"关闭工程面板");
        isShowFileManage = false;
    }
    else
    {
        MessageBox(L"打开工程面板");
        isShowFileManage = true;
    }
}

其中isShowFileManage是自定义的一个控制面板显示的变量,默认为true。

3. 控制打勾

现在可以发现点击checkbox可以弹窗,但是前面并没有打勾。这时候要响应UPDATE_COMMAND_UI,右击checkbox,选择添加“添加事件处理程序”,如图:

在MainFrm.cpp中找到这个函数,添加下面的代码:

void CMainFrame::OnUpdateCheckFileManage(CCmdUI *pCmdUI)
{
    // TODO:  在此添加命令更新用户界面处理程序代码
    if (isShowFileManage)
    {
        pCmdUI->SetCheck(1);
    }
    else
    {
        pCmdUI->SetCheck(0);
    }
        
}

建议参考本系统的开源项目的代码查看系列教程,地址:GitHub

VC++开发GIS系统(57)文件管理方案设计 VC++开发GIS系统(59)补充知识MFC中Ribbon界面新建一个停靠窗口(DockablePane)

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

发表评论