1、獲取滑鼠位置(在螢幕的位置)
cpoint m_mouse;
getcursorpos(&m_mouse);
2、 螢幕轉化為客戶端(控制項的相對位置)& 客戶端位置轉化為螢幕位置
clienttoscreen(this->m_hwnd,m_mouse); //客戶端位置轉化為螢幕位置
screentoclient(this->m_hwnd,m_mouse) ; //螢幕轉化為客戶端
3、獲取控制項關於在螢幕的位置
crect rc
getwindowrect(&rc);
4、檢測滑鼠的action的方式多,自己用的多的是msdn上介紹的callback的滑鼠鉤子(低階鉤子)函式來實現
1> 、對滑鼠進行的幾個全域性變數進行宣告:
將這部分放置在c++類的外部
/*全域性變數和全域性函式定義
設定乙個滑鼠低階鉤子變數
*/hhook mouse_hook ;
lresult callback lowlevelmouseproc ( int ncode,
wparam wparam,
lparam lparam
);
bool uninstallhook();
//解除安裝
bool installhook(); //
安裝
2>、在建構函式中初始化
1 mouse_hook=null; //將鉤子null
3>、在初始化函式中安裝hook
1 installhook()
4>、在析構函式中新增
uninstallhook()
5>、 在當前cpp的類外中定義宣告的三個函式
1bool installkbhook( ) 2
1011
bool uninstallhook()
12
1920
return jud
; 21
} 22
23lresult callback lowlevelmouseproc (int ncode, wparam wparam, lparam lparam)
2453
else57}
58 mmdlg->bo_back=0;59
}60}61
}62default: break
; 63
} 64
65return
callnexthookex (null, ncode, wparam, lparam);
66 }
獲取滑鼠位置
clientx 設定或獲取滑鼠指標位置相對於視窗客戶區域的 x 座標,其中客戶區域不包括視窗自身的控制項和滾動條。clienty 設定或獲取滑鼠指標位置相對於視窗客戶區域的 y 座標,其中客戶區域不包括視窗自身的控制項和滾動條。offsetx 設定或獲取滑鼠指標位置相對於觸發事件的物件的 x 座標。...
獲取滑鼠位置
ie 下獲取 clientx y 測試測試 firefox 下獲取 clentx y 測試測試 進而核心可以公升階 var z e.clientx event.clientx 滑鼠橫座標 var f e.clienty event.clienty 滑鼠縱座標 這樣一來就可以在ie和firefox中都...
c 獲取滑鼠位置的顏色
基本思路 由於從dc中獲取顏色的方法有一定的問題,有些情況下不能很好的支援。所以採用影象的方式。1 從螢幕上獲取螢幕的影象。2 從影象上獲取座標點的顏色。話不多說,直接上 public partial class form1 form private void button1 click objec...