功能区按钮项目与大图像

时间:2014-02-28 12:29:19

标签: mfc ribbon

功能区按钮可以包含项目。但就我所知,他们只接受小图像。我正在尝试将大图像添加到这些子项目中。

有谁知道如何做到这一点?

谢谢,

enter image description here

修改

enter image description here

2 个答案:

答案 0 :(得分:2)

在菜单子项中使用SetAlwaysLargeImage()成员函数,这些子项通常是CMFCRibbonButtons本身:

std::auto_ptr<CMFCRibbonButton> apBtn3(new CMFCRibbonButton(ID_RIBBON_BTN_3, _T("Split Button"), 2, 2));
apBtn3->SetMenu(IDR_RIBBON_MENU_1, TRUE);
apBtn3->SetAlwaysLargeImage();
apBtn3->RemoveSubItem(0);
std::auto_ptr<CMFCRibbonButton> apSubButton(new CMFCRibbonButton(ID_RIBBON_MBTN_1, _T("Item 1"), 2, 2));    // <-- !!!
apSubButton->SetAlwaysLargeImage(); // <-- !!!
apBtn3->AddSubItem(apSubButton.release(), 0);   // <-- !!!
pPanel1->Add(apBtn3.release());

(来自RibbonGadgets示例的修改代码)

答案 1 :(得分:1)

这似乎是CMFCRibbonGallery,而不是CMFCRibbonButton。代码示例:

pPanel1->Add(new CMFCRibbonGallery(ID_RIBBON_PBTN_1, _T("Embedded"), 0, 0, IDB_RIBBON_PALETTE_1, 64));

CMFCRibbonGallery* pBtn2 = new CMFCRibbonGallery(ID_RIBBON_PBTN_2, _T("Button"), 1, 1, IDB_RIBBON_PALETTE_1, 64);
pBtn2->SetButtonMode();
pBtn2->SetAlwaysLargeImage();
pPanel1->Add(pBtn2);

(取自RibbonGadgets示例)

[编辑:这是错误的答案。检查(和upvote)我的另一个答案。我只留下这一个未删除以表达意见。]