3

クレートされたときにフラグを立てる静的コントロールがありますSS_OWNERDRAWSS_NOTIFY親ウィンドウにはWS_EX_COMPOSITEDフラグがあります。

Windows XP では、下の図 (右上の四角形) に示すように、正しく描画されません。

ここに画像の説明を入力

しかし、Windows 7 では、下の図に示すように正しく描画されます (右上の X 印):

ここに画像の説明を入力

XPでこの問題を解決するにはどうすればよいですか? さらに、この問題の原因は何ですか (XP の場合)?

4

1 に答える 1

1

MSDN forは次のようにCreateWindowEx()述べています。

WS_EX_COMPOSITED が設定されている場合、ウィンドウのすべての子孫は、ダブル バッファリングを使用して下から上への描画順になります。下から上への描画順序では、子孫ウィンドウに半透明 (アルファ) および透明度 (カラーキー) 効果を持たせることができますが、これは、子孫ウィンドウにも WS_EX_TRANSPARENT ビットが設定されている場合に限られます。ダブルバッファリングにより、ウィンドウとその子孫をちらつきなくペイントできます。

つまり、子STATICコントロールがWS_EX_TRANSPARENT設定されている必要があります。

于 2013-02-15T15:59:50.383 に答える