分模块单独开发ribbon界面并可响应其界面按钮事件,怎么办到
分模块单独开发ribbon界面并可响应其界面按钮事件,如何办到
我想 分模块单独开发ribbon界面
分模块单独开发ribbon界面并可响应其界面按钮事件,如何办到
在ttest0920模块中
其中的 m_pTestEx- 与pNextClass 都为其他模块中的对话框类。添加按钮与实践响应后 运行 界面中改按钮为灰色 点击事件无响应
------解决思路----------------------
参考Codejock.Xtreme.Suite.Pro.ActiveX源代码?
我想 分模块单独开发ribbon界面
分模块单独开发ribbon界面并可响应其界面按钮事件,如何办到
在ttest0920模块中
// 创建面状菜单功能显示区域
void CMainFrame::InitializeRibbon(void)
{
m_wndRibbonBar.Create(this);
CString strTemp;
// Load panel images:
m_PanelImages.SetImageSize(CSize(32,32));
m_PanelImages.Load(IDB_BITMAP1);
// Init main button:
m_MainButton.SetImage(IDB_MAIN);
m_MainButton.SetText(_T("\nf"));
m_MainButton.SetRightAlignMenu(false);
m_MainButton.SetToolTipText(_T("系统图标"));
// 设置左上角按钮
m_wndRibbonBar.SetApplicationButton(&m_MainButton, CSize (45, 45));
m_pTestEx->ExCreate(this);
// 创建第一个界面
m_pTestEx->AdddCate(&m_wndRibbonBar,_T("工具"));
// 创建第2个界面
m_pNextClass->AdddCate(&m_wndRibbonBar,_T("报警定位"));
}
其中的 m_pTestEx- 与pNextClass 都为其他模块中的对话框类。添加按钮与实践响应后 运行 界面中改按钮为灰色 点击事件无响应
void CTestDlg::AdddCate(CMFCRibbonBar* MFCRBar, LPCTSTR lpCateName)
{
// 添加 第一个分组
CMFCRibbonCategory* pCategoryHome = MFCRBar->AddCategory(lpCateName,IDB_BITMAP1 ,IDB_BITMAP1 , CSize(16, 16), CSize(32, 32), -1);
// Load panel images:
m_TestBImgs.SetImageSize(CSize(32,32));
m_TestBImgs.Load(IDB_BITMAP1);
CMFCRibbonPanel* pPanelTool = pCategoryHome->AddPanel(_T("常用工具"), m_TestBImgs.ExtractIcon(0));
CMFCRibbonBtnEx* butn = new CMFCRibbonBtnEx(ID_TESTEX_QUERY, _T("搜索1111"),-1,-1,false);//
pPanelTool->Add(butn);
CMFCRibbonPanel* pPanelServer = pCategoryHome->AddPanel(_T("地图服务"), m_TestBImgs.ExtractIcon(0));
}
BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
ON_COMMAND(ID_TESTEX_QUERY, &CTestDlg::OnTestexQuery)
ON_UPDATE_COMMAND_UI(ID_TESTEX_QUERY, &CTestDlg::OnUpdateTestexQuery)
END_MESSAGE_MAP()
void CTestDlg::OnTestexQuery()
{
AfxMessageBox(_T("CTestDlg frame query"));
}
------解决思路----------------------
参考Codejock.Xtreme.Suite.Pro.ActiveX源代码?