Невозможно установить значки для кнопок на ленте приложения офисного стиля MFC

Единственные значки, которые я смог установить для кнопок на ленте моего приложения в стиле MFC Office, - это те, которые доступны через поля со списком изображений в свойствах кнопок, все попытки добавить пользовательские изображения в виде значков не увенчались успехом.

Может кто-нибудь, пожалуйста, проведите меня через процесс установки значков для кнопок ленты MFC?

2 ответа

Вместо использования индекса при создании такой кнопки

CMFCRibbonButton *btnMyButton = 
    new CMFCRibbonButton (ID_APP_ABOUT, _T("About"), 13, 13);

Вы также можете сделать это следующим образом:

CMFCToolBarImages m_myOtherPanelImages;
...
CMFCRibbonButton *btnMyButton = new CMFCRibbonButton (ID_APP_ABOUT, 
    _T("About"), m_myOtherPanelImages.ExtractIcon(0));

В моих классах, полученных из CMFCRibbonBar, я использую что-то вроде:

CMFCToolBarImages* pImageList;

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

// ... and so on for every categorry and button, assuming that you have set the LARGE image indexes correctly for each button.

и это работает.

Другие вопросы по тегам