警惕WS_EX_LAYERED属性的问题
2009-09-25 11:52
162 查看
WS_EX_LAYERED是微软窗口扩展属性,在API层面实现了窗口透明化的功能,的确为创建酷酷窗口提供了便利
然后必须警惕该属性带来的问题.
例如最近希望扩展Tooltip窗口的显示效果
当在绘画时使用了
SetBkMode( TRANSPARENT )
,希望透明显示文字时就出现了问题,在ToolTip更换了文字后,发现底色整个变黑了
在EraseBkgnd和PAINT消息上纠缠很久后依然没有解决。
最后发现Tooltip的窗口具有扩展属性WS_EX_LAYERED
将之去除后,问题消除。
所以可见该属性在内部实现上有特殊处理。以后如果各位在界面显示方面出现奇怪问题时,不妨察看下是否窗口具有WS_EX_LAYERED属性,
并确认是否该属性导致了奇怪问题的产生。
然后必须警惕该属性带来的问题.
例如最近希望扩展Tooltip窗口的显示效果
当在绘画时使用了
SetBkMode( TRANSPARENT )
,希望透明显示文字时就出现了问题,在ToolTip更换了文字后,发现底色整个变黑了
在EraseBkgnd和PAINT消息上纠缠很久后依然没有解决。
最后发现Tooltip的窗口具有扩展属性WS_EX_LAYERED
将之去除后,问题消除。
所以可见该属性在内部实现上有特殊处理。以后如果各位在界面显示方面出现奇怪问题时,不妨察看下是否窗口具有WS_EX_LAYERED属性,
并确认是否该属性导致了奇怪问题的产生。
相关文章推荐
- WS_EX_LAYERED 支持透明扩展属性
- 窗体样式使用WS_EX_LAYERED后,无法绘制windows控件的解决办法
- 窗体样式使用WS_EX_LAYERED后,无法绘制windows控件的解决办法
- WS_EX_TOPMOST参数导致的问题
- WS_EX_TOOLWINDOW 属性
- xp下WS_EX_COMPOSITED问题总结
- 关于WS_EX_LAYERED的思考
- [MFC] WS_EX_LAYERED 实现透明异形窗口(酷狗歌词、360加速球、窗口边缘阴影)
- 用了WS_EX_LAYERED 后所有Twincontrl的wm_paint消息会停止(官方Layered Windows文档很多内容)good
- WS_EX_TOOLWINDOW 属性的陷阱
- 动态创建窗口的问题--风格WS_BORDER以及WS_EX_CLIENTEDGE
- WS_EX_TOOLWINDOW 属性的陷阱
- js中input的属性设置问题(变量设置,字符串拼接,通过函数设置)
- js修改input的type属性问题探讨
- C#属性和方法的问题
- JavaScript服务器编程(对象属性枚举中应当避免原型污染问题)
- 关于android:windowIsTranslucent 属性问题与第一加载白屏问题!
- IE8浏览器下dom元素不区分name属性大小写问题
- 关于自定义View中wrap_content属性失效的问题
- struts2 自动装配对象时遇到只有一个属性被装配的问题