Toolbar最关键的属性是Transparent,该属性在DoubleBuffered情况下非常容易出现黑色背景的问题,即整个Toolbar的背景全部为黑色,无法辨识。在Windows开启主题(例如XP、Win7等主题)情况下特别严重。
经实践分析,这是由于Toolbar在Transparent属性为True且DoubleBuffered为True的情况下无法绘制Toolbar的默认背景下导致的问题。
解决方案:
明白原理后,解决方案其实非常简单:
方案1、不使用Toolbar的Transparent属性,即设置Toolbar的Transparent属性为False;
方案2、将Toolbar放置到父类容器中(比如Coolbar或者Controlbar),由父类去管理Toolbar的背景绘制。

Toolbar的Transparent属性在DoubleBuffered情况下易出现黑色背景问题,在Windows开启主题时更严重。这是因Transparent为True且DoubleBuffered为True时无法绘制默认背景导致。解决方案一是将Transparent属性设为False,二是将Toolbar放父类容器中由父类管理背景绘制。

7951

被折叠的 条评论
为什么被折叠?



