3

我有一个静态控件,它在装箱时具有SS_OWNERDRAWSS_NOTIFY标记。它的父窗口有WS_EX_COMPOSITED标志。

在 Windows XP 下,绘制不正确,如下图所示(右上角的矩形):

在此处输入图像描述

但在 Windows 7 下,它是正确绘制的,如下图所示(右上方的十字“X”):

在此处输入图像描述

如何在XP中解决这个问题?此外,是什么导致了这个问题(在 XP 中)?

4

1 回答 1

1

MSDN forCreateWindowEx()这样说:

设置 WS_EX_COMPOSITED 后,窗口的所有后代都使用双缓冲从下到上绘制顺序。自下而上的绘制顺序允许后代窗口具有半透明(alpha)和透明度(颜色键)效果,但前提是后代窗口也设置了 WS_EX_TRANSPARENT 位。双缓冲允许在不闪烁的情况下绘制窗口及其后代。

即子STATIC控件应该WS_EX_TRANSPARENT设置。

于 2013-02-15T15:59:50.383 回答