MFC 滑鼠訊息

2021-06-20 19:30:57 字數 1751 閱讀 4317

1:客戶區滑鼠;

滑鼠基本分三種:單擊,雙擊,移動

wm_lbuttondown //客戶區中按下滑鼠左鍵

wm_leuttonup //客戶區中鬆開滑鼠左鍵

wm_lbuttondblclk //客戶區中雙擊滑鼠左鍵

wm_mbuttondown //客戶區中按下滑鼠中鍵

wm_mbuttonup //客戶區中鬆開滑鼠中鍵

wm_mbuttondblclk //客戶區中雙擊滑鼠中鍵

wm_rbuttondown //客戶區中按下滑鼠右鍵

wm_rbuttonup //客戶區中鬆開滑鼠右鍵

wm_rbuttondblclk //客戶區中雙擊滑鼠右鍵

wm_mouseactive //客戶區中改變滑鼠啟用狀態

wm_mouseamove //客戶區中移動滑鼠

wm_mousewheel //客戶區中滑鼠滾輪滾動

onlbuttondown(uint nflags, cpoint point)

nflags //是否同時按下非系統鍵

point //滑鼠位置座標

例:if (nflags & mk_shift)

如有必要轉換座標 cdc::dptolp(&point);

2:非客戶區滑鼠;

wm_nclbuttondown //非客戶區按下滑鼠左鍵

wm_nclbuttonup //非客戶區鬆開滑鼠左鍵

wm_nclbuttonblclk //非客戶區雙擊滑鼠左腳

wm_ncmbuttondown //非客戶區按下滑鼠中鍵

wm_ncmbuttonup //非客戶區鬆開滑鼠中鍵

wm_lcmbuttonblclk //非客戶區雙擊滑鼠中鍵

wm_lcrbuttondown //非客戶區按下滑鼠右鍵

wm_lcrbuttonup //非客戶區鬆開滑鼠右鍵

wm_lcrbuttonblclk //非客戶區雙擊滑鼠右鍵

wm_mousemove //非客戶區中移動滑鼠

wm_nchittest //非客戶區滑鼠訊息檢測,監視滑鼠位置

onnclbuttondown(uint nhittest, cpoint point)

nhittest //指明滑鼠位置屬性

point //滑鼠位置座標

例如:if (nhittest & htbottom)

屬性說明:

htborder:游標位於無縮放框的視窗邊框上。

htbottom:游標位於視窗底部邊框上。

htbottomleft:游標位於視窗左下角邊框上。

htbottomright:游標位於視窗右下角邊框上。

htcaption:游標位於標題欄內。

hterror:游標位於視窗背景或視窗間邊界(視窗無效範圍)上。

htgrowbox:游標位於縮放窗。

hthscroll:游標位於水平滾動條內。

htleft:游標位於左邊框上。

htmaxbutton:游標位於最大化按鈕上。

htmenu:游標位於選單區。

htminbutton:游標位於最小化按鈕上。

htright:游標位於右邊框上。

htsysmenu:游標位於系統選單上。

httop:游標位於上邊框上。

httopleft:游標位於左上角邊框上。

httopright:游標位於右上角邊框上。

httransparent:游標位於另乙個視窗覆蓋的區域。

htvscroll:游標在垂直滾動條上

MFC 滑鼠訊息處理

1.滑鼠事件和滑鼠訊息 1 滑鼠和游標的區別 滑鼠是指實體滑鼠,而游標就是滑鼠在螢幕上的表示,因此在程式設計中通常稱為游標 2 滑鼠事件 windows中分為是三種,按下或釋放滑鼠 雙擊滑鼠 移動滑鼠 3 上述三種滑鼠實際那將觸發滑鼠訊息,而滑鼠訊息分為兩類,一類是客戶區滑鼠訊息,另一類是非客戶區滑...

MFC 新增滑鼠提示訊息

首先在.h檔案中新增成員變數 ctooltipctrl m mytip 在oninitdialog 中新增以下 m mytip.create this m mytip.addtool getdlgitem idc examinee 請輸入您的准考證號 m mytip.addtool getdlgit...

MFC改變滑鼠指標

windows程式和doc程式很大的不同 就在於windows有乙個亮麗的圖形介面和簡捷的操作方式 而滑鼠就是windows程式中最重要的乙個操作手段 有朋友向我諮詢如何修改滑鼠形狀 這本來是乙個簡單的問題 但是當朋友向我詢問進一步的,更加深入的操作機制時 我才發現裡面隱藏著更多的問題 回到家裡研究...