カスタム コントロール ボックスでトップ バーを表すパネルを使用してカスタム フォームを作成し、FormBorderStyle を None に設定しました。
W7 スナップ機能が私のフォームで機能しないことに気付きました。これを修正する方法がわかりません。今回は、Google はあまり役に立ちません。
カスタム コントロール ボックスでトップ バーを表すパネルを使用してカスタム フォームを作成し、FormBorderStyle を None に設定しました。
W7 スナップ機能が私のフォームで機能しないことに気付きました。これを修正する方法がわかりません。今回は、Google はあまり役に立ちません。
フォームの一部をタイトル バーのように動作させることで、これを修正できるはずです。
WM_NCHITTEST
そのためには、メッセージを処理してを返しHTCAPTION
ます。
protected override void WndProc(ref Message m) {
base.WndProc(ref m);
switch (m.Msg) {
case 0x84: //WM_NCHITTEST
var point = new Point(m.LParam.ToInt32());
if (point is somewhere)
m.Result = new IntPtr((int)HitTest.Caption);
break;
}
}
enum HitTest {
Caption = 2,
Transparent = -1,
Nowhere = 0,
Client = 1,
Left = 10,
Right = 11,
Top = 12,
TopLeft = 13,
TopRight = 14,
Bottom = 15,
BottomLeft = 16,
BottomRight = 17,
Border = 18
}