如何获取Ribbon中某个Edit控件的值

使用MFC中的Ribbon界面时,有时候需要获取某个Edit中的值,如下图所示:

如何获取Ribbon中某个Edit控件的值_第1张图片

这里先提供一下获取的代码,稍后再做解释为什么代码是这样的:

//author:autumoon
//联系QQ:4589968
//日期:2022-10-28 
void CMainFrame::GetMinMaxThreshold(double& dMinThreshold, double& dMaxThreshold)
{
	CMFCRibbonCategory* pRibbonUICategory = m_wndRibbonBar.GetCategory(1);

	CMFCRibbonPanel* pTestPanel = pRibbonUICategory->GetPanel(1); //获得第一个面板

	CMFCRibbonEdit* pElem = (CMFCRibbonEdit*)pTestPanel->GetElement(4); //获得第1个元素
	CString strMinThreshold = pElem->GetEditText();
	dMinThreshold = atof(strMinThreshold);

	pElem = (CMFCRibbonEdit*)pTestPanel->GetElement(5); //获得第1个元素
	CString strMaxThreshold = pElem->GetEditText();
	dMaxThreshold = atof(strMaxThreshold);
}

注意面板和控件获取的先后顺序,如下图所示,我们按照1、2、3的顺序依次获取。

如何获取Ribbon中某个Edit控件的值_第2张图片

注意,其中1的索引是从1开始的 ,而其他的索引是从0开始的。

如图所示的Edit空间,索引依次为1,1,4以及1,1,5,于是得到代码。

这个函数可以放到MainFrame.cpp中实现。

下面是声明位置,供参考。

如何获取Ribbon中某个Edit控件的值_第3张图片

 欢迎交流与讨论。

你可能感兴趣的:(MFC,c++,ribbon,spring,cloud,后端)