2
デフォルトでは、フォームには、エアロガラス効果が適用されるタイトルサイズが制限されています。私はタイトルだけでなく、自分のフォームの下部と側面にもその領域を広げたいと思っています。 メインコントロールコンテナを減らしてwin7エアログラス領域を増やすにはどうすればよいですか? (C#)
デフォルトでは、フォームには、エアロガラス効果が適用されるタイトルサイズが制限されています。私はタイトルだけでなく、自分のフォームの下部と側面にもその領域を広げたいと思っています。 メインコントロールコンテナを減らしてwin7エアログラス領域を増やすにはどうすればよいですか? (C#)
使用DwmExtendFrameIntoClientArea
:フォームのHandle
とMARGINS
構造と
[StructLayout(LayoutKind.Sequential)]
struct MARGINS {
int Left;
int Right;
int Top;
int Bottom;
}
[DllImport("user32.dll")]
public static extern IntPtr DwmExtendFrameIntoClientArea(IntPtr hWnd, ref MARGINS pMarInset);
コールDwmExtendFrameIntoClientArea
。 Left
、Right
、Top
、Bottom
をそれぞれの罫線の長さ分だけ伸ばしてください。
ああ、Black
にフォームのBackColor
を設定します。 (ありがとう、@HansPassant!)
私はextern
構文が間違っている場合は申し訳ありません。私が今までに
は私が探しているもののように見える... C#でこれを行っていないが、私はちょうどそれを動作させるように見えることはできません:xが、あなたは作業例を追加していただけますか? – user1306322
それは十分ではありません、あなたはまたそれを黒く描く必要があります:http://www.danielmoth.com/Blog/Vista-Glass-In-C.aspx –
@HansPassantあなたはそのウェブサイトにリンクしているので、 g.FillRectangle(blackBrush、0、0、this.ClientSize.Width、margin.Top)の 'g'とは何ですか?どうすれば正しく使用できますか?また、私は黒の代わりに白い背景を参照してください、それは大丈夫ですか? – user1306322