最近在项目中需要使用MFC,我选择了Ribbon风格界面,Ribbon风格有它特殊的编辑控件,例如在Ribbon上放一个编辑控件和一个按钮,当我们双击按钮的时候就会读取编辑框中的数据并且通过WebBrowser控件执行JavaScript代码。
首先我们在HTML页面中写好要调用的JS函数,例如:function search(str),那么我们首先要得到编辑框中的值,由于CMFCRibbonBar是CMainFrame类的保护成员,我们的按钮相应函数应该放在CMainFrame类中。
获得内容的具体代码如下:
在此之前要相应此编辑框的OnUpdateEditXXX(CCmdUI *pCmdUI)事件
加入此句: pCmdUI->Enable(TRUE); 这样编辑框才可以编辑
CMFCRibbonCategory* pRibbonUICategory = m_wndRibbonBar.GetCategory(1); //获得主页,主页的id是1
CMFCRibbonPanel* pPanel = pRibbonUICategory->GetPanel(2) ; //获得第3个面板,从左到右是0,1,2,..
CMFCRibbonEdit* pElem = (CMFCRibbonEdit*)pPanel->GetElement(1); //获得第2个元素,即编辑框的值(也从0开始)
//(pElem->GetText()); //获得控件的名字,而不是编辑框的值
location = pElem->GetEditText(); //获得编辑框的值
获得数据后&#