c – 更改CMFCToolbar中菜单按钮的图像

c – 更改CMFCToolbar中菜单按钮的图像,第1张

概述我在CMFCToolbar中有一个菜单按钮,我想在菜单中每次选择不同的条目时,替换按钮的位图,因为每个条目都有自己的图标. 我使用CMFCToolBarMenuButton :: SetImage成功更改图标,但它也会更改菜单项中的图标.太糟糕了. alt text http://www.freeimagehosting.net/uploads/137269b0f2.jpg alt text ht 我在CMFCToolbar中有一个菜单按钮,我想在菜单中每次选择不同的条目时,替换按钮的位图,因为每个条目都有自己的图标.

我使用CMFCToolbarMenubutton :: SetImage成功更改图标,但它也会更改菜单项中的图标.太糟糕了.

alt text http://www.freeimagehosting.net/uploads/137269b0f2.jpg alt 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());            }        }    }}

有任何想法吗?谢谢.

解决方法 它开箱即用.您唯一需要的是调用CMFCToolbar :: AddToolbarForImageCollection,所以MFC可以知道要使用哪些图像. 总结

以上是内存溢出为你收集整理的c – 更改CMFCToolbar中菜单按钮的图像全部内容,希望文章能够帮你解决c – 更改CMFCToolbar中菜单按钮的图像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1247468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存