4

通常、ウィンドウの厚さは 4 ピクセルで、GetSystemMetrics メソッドで取得できます。2 ピクセルなど、値を変更できますか?

どうもありがとうございました!

4

1 に答える 1

8

簡単な答え: いいえ。特定のウィンドウ用ではありません。

複雑な答え: 境界線は、ウィンドウの「非クライアント」領域の一部として描画されます。これはすべて、キャプション、最小化、最大化ボタンなどとともに、デフォルトの処理 (つまり DefWindowProc) によって処理されます。WM_NCPAINT メッセージを処理することで、これをオーバーライドできます。次に、ウィンドウの非クライアント領域全体を描画する必要があります。また、WM_NCCALCSIZE メッセージを処理して、Windows がクライアント領域に割り当てる残りの領域を認識できるようにする必要があります。

または、ウィンドウの境界線スタイルを none に設定することもできます。これにより、Windows がキャプションを描画できるようになりますが、見た目が若干異なる場合があります。残念ながら、これを行うと、ドラッグしてサイズ変更する機能が失われます。そのためには、WM_NCHITTEST メッセージを処理する必要があります。

于 2009-01-04T09:35:30.780 に答える