私はCMFCToolbar
の中にメニューボタンを持っています。メニューの各項目が独自のアイコンを持っているので、メニュー内の別の項目が選択されるたびにボタンのビットマップを置き換えます。CMFCツールバーのメニューボタンの画像を変更する
CMFCToolBarMenuButton::SetImage
を使用してアイコンの変更に成功しましたが、メニュー項目のアイコンも変更されます。残念な。ここで
alt text http://www.freeimagehosting.net/uploads/137269b0f2.jpgalt text http://www.freeimagehosting.net/uploads/879d03843a.jpg
コードのサンプルです:
if ((pToolbar != NULL) && (idBase != 0))
{
int ixButtonToReplace = pToolbar->CommandToIndex(idBase);
CMFCToolBarMenuButton* pBtnToReplace = dynamic_cast<CMFCToolBarMenuButton*>
(pToolbar->GetButton(ixButtonToReplace));
if (pBtnToReplace)
{
const CObList& listCommands = pBtnToReplace->GetCommands();
POSITION pos = listCommands.GetHeadPosition();
while (pos != NULL)
{
CMFCToolBarMenuButton* pItem = (CMFCToolBarMenuButton*) listCommands.GetNext(pos);
if (pItem && (pItem->m_nID == idButtonToReplaceWith))
{
pBtnToReplace->SetImage(pItem->GetImage());
}
}
}
}
任意のアイデア?ありがとうございました。
シーケンス:12 /コンテンツが選択されています。ドロップダウンをクリックします。 (X)/名前をクリックします。コンテンツのアイコンが名前に変わりましたか? – enriquein