我有一个静态控件,当它被装箱时会有SS_OWNERDRAW
和SS_NOTIFY
标志。它的父窗口有WS_EX_COMPOSITED
标志。
在Windows XP下,它未正确绘制,如下图所示(右上方矩形):
但在Windows 7下,它被正确绘制,如下图所示(corss" X"在右上角):
如何解决XP中的这个问题?此外,是什么导致了这个问题(在XP中)?
答案 0 :(得分:1)
CreateWindowEx()
的MSDN说:
设置WS_EX_COMPOSITED后,窗口的所有后代都会获得 使用双缓冲的自下而上的绘画顺序。底部到顶部 绘画顺序允许后代窗口具有半透明度(alpha) 和透明度(颜色 - 键)效果,但只有后代 窗口也设置了WS_EX_TRANSPARENT位。双缓冲允许 窗口及其后代无需闪烁即可绘制。
即。子STATIC
控件应设置WS_EX_TRANSPARENT
。