WS_EX_TRANSPARENTスタイルの別のウィンドウの下で1つのウィンドウが更新されると、重なり合う子ウィンドウが正しく描画されないという問題があります。
親ウィンドウには、W1とW2の2つの子があり、ZオーダーでW1がW2より上にあるのと重なっています。W1には拡張スタイルWS_EX_TRANSPARENTがあります。問題は、W2がクライアント領域でペイントする場合(私はW2を無効にしてこれをテストしています)、W2がW1のオーバーラップ部分を完全にペイントすることです。親が再描画されると、重なり合う両方の子が正しい順序で描画されます。
WS_CLIPSIBLINGSがW2に設定され、WS_EX_TRANSPARENTがW1から削除されている場合、子ウィンドウは正しく描画されます。この状況でW2のクライアント領域が無効になると、W1によって隠された部分はペイントされますが、描画されません。
WS_EX_TRANSPARENTが使用されているのは、最初の子ウィンドウが2番目の子ウィンドウのオーバーレイとして使用されているためです。オーバーレイによってマウスクリックがブロックされないようにしたいと思います。
オーバーラップするウィンドウをWS_EX_TRANSPARENTスタイルで正しく描画する方法はありますか、または何らかの回避策を使用して同じ動作を得ることができますか?