kh001058 发表于 2019-11-28 09:19:15

如何捕获鼠标单击事件。

大家好,
我正在尝试模仿PAN命令,首先,它必须是捕获鼠标点击事件,我想。
AutoCAD.NET 中是否有检测到鼠标单击事件:mouse_down,mouse_move,mouse_up...
有关此问题的任何帮助将不胜感激。
问候。
**** Hidden Message *****

阳泉志愿者 发表于 2019-12-3 01:41:25

我不得不在Editor.CommandAsync/Editor.Command内部监视鼠标事件,并使用Autodesk.AutoCAD.ApplicationServices.Core.Application.PreTranslateMessage Event private const int MK_SHIFT = 4;。
私有常数 int WM_RBUTTONUP = 517;。
私有 const int WM_LBUTTONUP = 514;。
私有常数 int WM_LBUTTONDOWN = 513;。
私有 const int WM_RBUTTONDOWN = 516;。

private void Application_PreTranslateMessage(object sender, PreTranslateMessageEventArgs e)。
{ 。
var wp = e.Message.wParam.ToInt64();。

if (e.Message.message == WM_RBUTTONDOWN && (wp != 6 && wp != MK_SHIFT))。
{。
e.已处理 = 真;。
}。
if (e.Message.message == WM_RBUTTONUP && wp != MK_SHIFT)。
{。
Application.PreTranslateMessage -= Application_PreTranslateMessage;。
e.已处理 = 真;。
Application.DocumentManager.MdiActiveDocument.SendCancel();。
}。
}。
acad文档中的信息不多,因此这可能 https://docs.microsoft.com/en-us/windows/win32/learnwin32/mouse-clickshttps://docs.microsoft.com/en-us/windows/win32/inputdev/mouse-input-notifications。
页: [1]
查看完整版本: 如何捕获鼠标单击事件。