mfc中Ribbonbar按钮使用的中的一些问题经验分享

 时间:2026-02-12 01:32:18

1、第一个问题是VS2010 Ribbon CheckBox不能选中的问题,如果我们在编辑器直接添加CheckBox,那么在执行时无法选定,鼠标点击可以选定但是一放开复选框就无法选定。这个问题可以这样解决:

定义个全局bool,bool bFlag = false;

在RibbonCheckBox空间上点击右键添加事件处理程序,选择UPDATE_COMMAD_UI,在生成的相应函数里添加pCmdUI->SetCheck(bFlag),在RibbonCheckBox空间上点击右键添加事件处理程序,选择COMMAD,在生成的相应函数里添加bFlag = !bFlag,这样就可以达到效果。

mfc中Ribbonbar按钮使用的中的一些问题经验分享

2、第二个是对于数字调整编辑框的使用方法,这方面的资料比较少,获取其中的数值首先是获取文本,然后将文本转换为数值,代码如下所示:

CMFCRibbonBar* pRibbon = ((CFrameWndEx*) AfxGetMainWnd())->GetRibbonBar();//获取数字编辑控件的数值

CMFCRibbonEdit *pComboBox = dynamic_cast<CMFCRibbonEdit *>(pRibbon->FindByID(ID_SPIN_TRACEBEGIN));

CString nCurSel = pComboBox->GetEditText();  

m_iChannel= _ttoi(nCurSel);

mfc中Ribbonbar按钮使用的中的一些问题经验分享

3、第三个是滑块按钮slider的使用,可以直接获取其中的数值,示例代码如下:

CMFCRibbonBar* pRibbon = ((CFrameWndEx*) AfxGetMainWnd())->GetRibbonBar();

CMFCRibbonSlider *pSlider = DYNAMIC_DOWNCAST(CMFCRibbonSlider, pRibbon->FindByID(ID_SLIDER1));

int i=pSlider->GetPos();//获取滑块数值

mfc中Ribbonbar按钮使用的中的一些问题经验分享

4、第四个就是组合框combox的使用,其中项的选择需要自己在编辑器添加,如下图所示:

CMFCRibbonBar* pRibboncolor = ((CFrameWndEx*) AfxGetMainWnd())->GetRibbonBar();

CMFCRibbonComboBox  *pComboBoxcolor = dynamic_cast<CMFCRibbonComboBox *>(pRibboncolor->FindByID(ID_COLOR_COMBO));

int index;

index=pComboBoxcolor->GetCurSel();

str_color=pComboBoxcolor->GetItem(index);

mfc中Ribbonbar按钮使用的中的一些问题经验分享

5、还有一个问题就是当按钮已经布局好并且添加了消息响应函数后移动按钮位置,按钮可能会失去响应,这时候需要看一下按钮的ID是否已经改变;还有看一下resourse.h中定义按钮的常量可能有重复的,找出来将其删掉即可。

mfc中Ribbonbar按钮使用的中的一些问题经验分享

  • 怎样使用 VPX总线架构的高性能实时信号处理平台
  • 宁海米面做法
  • 什么是内联接和外联接?
  • 去泰国旅游买些什么好?
  • 施工过程当中应该注意哪些安全?
  • 热门搜索
    苹果一体机怎么开机 火焰怎么画 表格怎么求和 海参怎么做 嘴唇太厚怎么变薄 turkey怎么读 不来月经是怎么回事 鹿茸怎么吃效果最好 大宝sod蜜怎么样 云中君怎么玩