WS_TABSTOPがウィンドウペイントの順序に影響を与える原因は何ですか?

StackOverflow https://stackoverflow.com/questions/9462797

質問

WTLでは、CbitMapButtonはPNGのように、透明レイヤー付きの画像をサポートしていません。 そのため、GDI +を使用してPNGを描画するためのコードをカスタマイズし、それをCpngButtonとして名前を付けます。 しかし、物事はWin XPには奇妙です。 ボタンが他のウィンドウで重なっていると、ボタンが最初にWM_PAINTを受信し、その後親を受け取り、結果が正しくありません。

ENTER IMART Description ---> 画像の説明が入力されています

リソースをチェックし、ボタンのテンプレートからWS_TABSTOP属性を削除します。 WS_TABSTOPがウィンドウ塗装順に影響を与える原因は何ですか?

役に立ちましたか?

解決

背景を描くと起こるのは何ですか。それはウィンドウに「穴」を残すと、あなたはあなたの窓の後ろにあるウィンドウのピクセルが表示されます。またはそのようなウィンドウがない場合はデスクトップ。それ以外の場合は、これがWS_TABSTOPで何をしなければならないのか確認してください。

WS_EX_TRANSPARENTスタイルのフラグを使用します。これにより、ボタンの親をクライアントウィンドウに描画してバックグラウンドピクセルを提供するようにWindowsに指示します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top