ネイティブ サイズの境界線がどのように見えるかが気に入らない:
代わりに、この派手な紫色の境界線のようなものが欲しいです:
独自のサイズ変更境界線を手動で実装する必要がありますか?それとも WS_THICKFRAME ウィンドウ スタイルを使用し続けてカスタマイズする必要がありますか?
カスタマイズできるのなら、面倒なハックもせずに済ませたいのですが...
ネイティブ サイズの境界線がどのように見えるかが気に入らない:
代わりに、この派手な紫色の境界線のようなものが欲しいです:
独自のサイズ変更境界線を手動で実装する必要がありますか?それとも WS_THICKFRAME ウィンドウ スタイルを使用し続けてカスタマイズする必要がありますか?
カスタマイズできるのなら、面倒なハックもせずに済ませたいのですが...
ウィンドウ タイプ フラグで WS_POPUP フラグを指定すると、境界線とキャプション バーのないウィンドウを作成できます。
WM_NCHITTEST メッセージのハンドラーは、特定のピクセルが実際にウィンドウのどの部分に属しているか (例: フレームの樹脂化) を確認し、その部分のコードを返す必要があります。
欠点: ウィンドウ コンテンツ全体 (キャプションなどを含む) を独自に描画する必要があります。
独自の再描画手順を実装する必要があると思います(たとえば、下部に紫色の長方形を描画し、隅にアイコンを描画するなど)。ウィンドウを VS2013 ウィンドウに似たものにしたい場合は、WS_POPUP
スタイルを使用してから、独自の再描画ルーチンを実装する必要があります。ウィンドウのフォームをカスタマイズしたい場合は、リージョン ( SetWindowRgn()
、CreateRectRgn()
、CreateRoundRectRgn()
、CreateEllipticRgn()
、CreatePolygonRgn()
など) を使用できます。大まかに言えば、WinAPI を使用するとすべてを実行できますが、WinAPI のみに限定されますか? ウィンドウ インターフェイスの作成をより簡単にするために、MFC または Windows フォームを使用することをお勧めします。