2009-08-13 9 views
0

私はC#でウィンドウのウィンドウスタイルを変更しようとしています。C#でメッセージを送信してウィンドウスタイルを変更するにはどうすればよいですか?

私は窓のハンドルを持っています。ウィンドウのスタイルを変更するには、ウィンドウにメッセージを送信するにはどうすればよいですか?

私の目的は、ウィンドウを縁なしにすることです。

答えて

3

あなたが実際に変更既存のウィンドウのスタイルに必要がありますか、またはあなたが行く得るから、指定されたスタイルでにそれを作成する必要がありますか?それは(あなたの質問の残りの部分で、それのように聞こえる)の元だ場合、あなたは自分のForm(または何それはある)の上にCreateParamsプロパティをオーバーライドして、戻り値にClassStyleStyleExStyleプロパティの値を変更します。

protected override CreateParams CreateParams 
    { 
     get 
     { 
      CreateParams createParams = base.CreateParams; 
      createParams.Style |= WS_...; 
      return createParams; 
     } 
    } 

は、既存のウィンドウのスタイルを変更するには、Pを使用する必要があります/ GWL_STYLEの現在の値を取得するためにGetWindowLongを呼び出すために呼び出します(またはGWL_EXSTYLE、あなたが必要な方)ウィンドウのために、必要に応じてビットを反転、それを元に戻すにはSetWindowLongに電話してください。両方の関数のP/Invokeシグネチャ、およびGWL_EXSTYLEhereでそれらを使用するサンプルを見つけることができます。

+0

私は既存のウィンドウのスタイルを変更する必要があります。 – Moon

+0

このケースをカバーする答えが更新されました。 –

関連する問題