1. 程式人生 > 其它 >CAD二次開發之滑鼠事件捕捉繫結

CAD二次開發之滑鼠事件捕捉繫結

1、物件初始化時繫結處理事件

1 Application.PreTranslateMessage += new PreTranslateMessageEventHandler(Application_PreTranslateMessage);

2、事件處理

 1         /// <summary>
 2         /// 滑鼠事件處理
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
6 private void Application_PreTranslateMessage(object sender, PreTranslateMessageEventArgs e) 7 { 8 if (e.Message.message == (int)MouseMsg.WM_MBUTTONDOWN) 9 { 10 MidButton = true; 11 } 12 if (e.Message.message == (int
)MouseMsg.WM_MBUTTONUP) 13 { 14 MidButton = false; 15 } 16 if (e.Message.message == (int)MouseMsg.WM_MOUSEMOVE) { 17 if (MidButton) { 18 ListCurve = GetCurveFromView(); 19 } 20 } 21 22 }

3、滑鼠事件列舉,具體可參考MSDN幫助文件

1     public enum MouseMsg
2     {
3         WM_MOUSEMOVE = 512,
4         WM_LBUTTONDOWN = 513,
5         WM_RBUTTONDOWN = 516,
6         WM_MBUTTONDOWN = 519,
7         WM_MBUTTONUP = 520
8     }