由於在 標題欄不觸發WM_NCLBUTTONUP事件,網上找了很久,都不知什麼原因,希望知道的同志告之小弟。
現在我是用WM_NCMOUSEMOVE代替,由於在標題欄會觸發WM_NCLBUTTONDOWN事件,所以在WM_NCLBUTTONDOWN事件裡設置被按下的變量 b_MouseDown ,然後在WM_NCMOUSEMOVE 事件裡檢查 b_MouseDown ,具體如下:
private bool b_MouseDown = false;
WM_NCLBUTTONDOWN = 0x00A1;
WM_NCMOUSEMOVE = 0x00A0;
protected override void WndProc(ref Message m)
...{
switch (m.Msg)
...{
case WM_NCMOUSEMOVE:
if (b_MouseDown)
...{
MessageBox.Show("這裡寫想在WM_NCLBUTTONUP事件做了事");
b_MouseDown = false;
}
break;
case WM_NCLBUTTONDOWN:
b_MouseDown = true;
break;
}
base.WndProc(ref m);
}