如何在功能区类别中合并2个具有不同图像资源的面板?

时间:2012-01-19 10:16:13

标签: mfc cmfcribbonpanel

我正在使用CMFCRibbonCategory,我的类别应该有2个面板。问题是我想为每个面板指定一组按钮图像。我不想将两个bmp文件合并为一个以便使用它们。

这就是我通常为按钮设置图像的方式:

    _btnTest = new CMFCRibbonButton(ID_BTN_TEST,  CResourceHelper::GetStringFromRes(IDS_BTN_TEST), 1, 1);
    _btnTest->SetAlwaysLargeImage(TRUE);
    _ribbonPanel->Add(_btnTest); 

值1指定我要使用的图像。我以前为我要添加面板的整个类别设置了图像资源。

    _ribbonCategory = wndRibbonBar->AddCategory(
            CResourceHelper::GetStringFromRes(IDS_CATEGORY_NAME), 
            IDB_TOOLBAR_IMG, 
            IDB_TOOLBAR_IMG,
            CSize(16, 16), 
            CSize(32, 32), 
            -1, 
            NULL);

因此,如何设置2个图像资源?

1 个答案:

答案 0 :(得分:0)

我将每个图标分开,在我的CMFCRibbonBar派生类中,我使用类似的东西:

CMFCToolBarImages* pImageList;

pImageList= &GetCategory(0)->GetLargeImages();
pImageList->AddIcon(theApp.LoadIcon(IDI_SOME_ICON), true);

//.. and so on for every button and category assuming tha you have correctly set the image indexes