临时接到的任务,让我给插件写个界面。一看ribbon没有UI界面,全是代码添加。
呵呵,我太难了,查也查不到,没办法硬怼官方文档。写完记录下,万一有人要借用,就自己拿把。
icon = AfxGetApp()->LoadIcon(IDI_ICON33);
CMFCRibbonButton* pBtnTubeAutoAlign = new CMFCRibbonButton(ID_BUTTON_TUBE_AUTO_ALGIN, _T("智能尺寸"), icon);
pPanelTube->Add(pBtnTubeAutoAlign);
//分隔
CMFCRibbonSeparator *sep = new CMFCRibbonSeparator(false);
pPanelTube->Add(sep);
//小图标组1
CMFCToolBarImages *imagelist = new CMFCToolBarImages();
CMFCRibbonButtonsGroup* pAdditionGroup = new CMFCRibbonButtonsGroup();
//第一组图标和标签
icon = AfxGetApp()->LoadIcon(IDI_ICON34);
imagelist->AddIcon(icon);
CMFCRibbonButton* pBtnTube1line = new CMFCRibbonButton(ID_BUTTON_TUBE_AUTO_1, NULL, icon, 0,icon);
pAdditionGroup->AddButton(pBtnTube1line);
CMFCRibbonLabel *label = new CMFCRibbonLabel(_T("直线"));
pAdditionGroup->AddButton(label);
//pBtnTube1line->SetImageIndex(0, false);
注意我注释掉的方法,他会导致16*16的图片显示不完全,因为你看它的名字,是image方法。无论是QT还是MFC如果添加时能直接初始化控件,建议直接用,避免后面调用的问题。
大致的显示效果