MFC如何实现手动添加ribbbon界面小图标

临时接到的任务,让我给插件写个界面。一看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如果添加时能直接初始化控件,建议直接用,避免后面调用的问题。
大致的显示效果
很舒服

你可能感兴趣的:(MFC如何实现手动添加ribbbon界面小图标)