WS_EX_LAYERED是微软窗口扩展属性,在API层面实现了窗口透明化的功能,的确为创建酷酷窗口提供了便利
然后必须警惕该属性带来的问题.
例如最近希望扩展Tooltip窗口的显示效果
当在绘画时使用了
SetBkMode( TRANSPARENT )
,希望透明显示文字时就出现了问题,在ToolTip更换了文字后,发现底色整个变黑了
在EraseBkgnd和PAINT消息上纠缠很久后依然没有解决。
最后发现Tooltip的窗口具有扩展属性WS_EX_LAYERED
将之去除后,问题消除。
所以可见该属性在内部实现上有特殊处理。以后如果各位在界面显示方面出现奇怪问题时,不妨察看下是否窗口具有WS_EX_LAYERED属性,
并确认是否该属性导致了奇怪问题的产生。