C# でウィンドウのウィンドウ スタイルを変更しようとしています。
ウィンドウのハンドルを持っています。ウィンドウ スタイルを変更するメッセージをウィンドウに送信するにはどうすればよいですか?
私の目的は、ウィンドウを縁なしにすることです。
C# でウィンドウのウィンドウ スタイルを変更しようとしています。
ウィンドウのハンドルを持っています。ウィンドウ スタイルを変更するメッセージをウィンドウに送信するにはどうすればよいですか?
私の目的は、ウィンドウを縁なしにすることです。
実際に既存のウィンドウのスタイルを変更する必要がありますか、それとも最初から特定のスタイルでウィンドウを作成する必要がありますか? それが前者の場合(質問の残りの部分では、そのように聞こえます)、あなたの(またはそれが何であれ)CreateParams
のプロパティをオーバーライドし、戻り値の、およびプロパティの値を変更するだけです:Form
ClassStyle
Style
ExStyle
protected override CreateParams CreateParams
{
get
{
CreateParams createParams = base.CreateParams;
createParams.Style |= WS_...;
return createParams;
}
}
既存のウィンドウのスタイルを変更するには、P/Invoke を使用して呼び出し、ウィンドウの現在の値(または必要な方)GetWindowLong
を取得し、必要に応じてビットを反転し、呼び出して元に戻す必要があります。両方の関数の P/Invoke シグネチャと、でそれらを使用する例を見つけることができます。GWL_STYLE
GWL_EXSTYLE
SetWindowLong
GWL_EXSTYLE