我有一个 WinForm,现在我需要在光标位于 windows 标题部分时更改光标。我有一些代码工作,它有两个问题:
它还会在边缘更改光标(应显示正常调整大小的光标)。我发现我需要这样的东西WM_NCHITTEST
&HTTOP
,但我该如何结合呢?- 移动鼠标时有一些闪烁。
我还尝试将代码放在base.WndProc(ref m);
.
这是我已经拥有的代码:
if ((m.Msg == Win32.WM.NCMOUSEMOVE
|| m.Msg == Win32.WM.NCLBUTTONDOWN || m.Msg == Win32.WM.NCLBUTTONUP
|| m.Msg == Win32.WM.NCRBUTTONDOWN || m.Msg == Win32.WM.NCRBUTTONUP)
)
{
if (m.WParam.ToInt32() != Win32.HT.TOP && m.WParam.ToInt32() != Win32.HT.RIGHT && m.WParam.ToInt32() != Win32.HT.BOTTOM && m.WParam.ToInt32() != Win32.HT.LEFT)
{
Cursor = Cursors.Hand;
}
}
编辑:
我没有在 Spy++ 中正确记录消息。找到了窗口边缘的解决方案(请参阅更新的代码)。
恩克斯,J