MFC CMFCToolBar 最小化恢复工具栏显示异常
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC CMFCToolBar 最小化恢复工具栏显示异常相关的知识,希望对你有一定的参考价值。
各位,mfc写的一个程序,用CMFCToolBar 添加了两个自定义工具栏,可是程序最小化,再恢复最大化时,工具栏出现如下诡异的情况,有思路或者知道怎么回事的,赐教一下,十分感谢!
没多少财富了,见谅
应该是vs2010的bug,MDI程序开多个tab窗口,打开工具栏全是有黑框,而且只有最大化恢复时有问题
不过,最大化时重绘通过什么事件或方法来处理
WM_SIZING()
参考技术A 在重新计算客户端区域的地方断点一下, 好像是叫onMeasureClient还是啥的追问你的意思就是说,这时候指定工具栏的大小?
如何在mfc中设置大小和透明/清除CMFCToolBar按钮和图标?
我创建了一些(CMFCToolBar
)工具栏,并为它们添加了按钮和图标。我在微软的官方网站上看到,CMFCToolBar
采用23x22按钮尺寸和16x15图标尺寸(参考:link)。
如果我使用16x15的图标,那么图标会显得模糊。这是因为图标最初的大小为16x16。我使用函数SetSizes(CSize (23,23), CSize(16,16))
来更改图标大小,但图标不正确:
还有另一种设置图标和按钮大小的方法吗?
Update
我在创建工具栏之前调用了SetSize
函数,但图标仍然显得有些模糊:
我想知道是否有办法将图标/按钮设置为透明或使其清晰,就像我们可以在TBSTYLE_TRANSPARENT
函数中通过CreateEx
设置工具栏透明。
SetSizes
是一个影响整个库的静态函数。
应在创建任何工具栏或菜单对象之前调用它。最佳位置是在你申请的InitInstance
。
但是我的tipp:使用推荐的尺寸! 16x15和23x22 ....
透明度可以使用标准的32位RGB / A位图完成。如果您有16色位图,则应使用RGB(192,192,192)作为背景的标准颜色。它会自动替换为所需的背景颜色。
这也是answered here。
以上是关于MFC CMFCToolBar 最小化恢复工具栏显示异常的主要内容,如果未能解决你的问题,请参考以下文章
MFC:如何让 CMFCToolBarComboBoxButton 显示在 CMFCToolBar 上?
mfc中的CMFCToolBar类怎么实现工具栏上的按钮多行显示??急!!!
如何在mfc中设置大小和透明/清除CMFCToolBar按钮和图标?