視窗滑鼠事件的響應 在滑鼠視窗中繪製矩形的程式

2021-05-28 13:38:20 字數 901 閱讀 3869

這裡主要是訓練怎麼去響應滑鼠響應事件,那怎麼去定義滑鼠響應函式呢?

void cvmousecallback(

int event;//滑鼠響應事件的型別如滑鼠右鍵彈起,右鍵按下,cv_event_lbuttondown,cv_event_lbuttondown)

int x,//滑鼠響應是所在的位置,這裡x,y是指畫素座標,所以與視窗的大小無關,它只是用畫素來定位

int y,

int falgs,//指定了每乙個事件在發生時的不同狀態

void *param//這個引數由註冊滑鼠響應時間的時候傳入

)//cvmousecallback名字是可以改變的,不準確,應該說必須改---

另外乙個重要函式就是

cvsetmousecallback(

const char*window_name,//視窗的名字,也就是你要捕獲哪個視窗的滑鼠響應事件

cvmousecallback  on_mouse,//你的滑鼠響應事件函式的名字

void * param=null//這個引數就是就是要傳進滑鼠響應事件的引數,在本例中,我使用的是將影象的位址傳進去

}下面附上

#include "cv.h"

#include "highgui.h"

#include "math.h"

bool flag=false;

cvrect box;

void mouse_call_back(int event,int x,int y,int flags,void *param)

}int main()

cvwaitkey(0);

cvdestroywindow("mouse");

return 0;

}

結果如下:

在視窗中繪製滑鼠拖曳框

chapter i 在wm mousemove中繪製.有時候要求在乙個視窗中繪製滑鼠的拖曳框,就像是使用者在桌面上拖曳圖示顯示的框一樣.對於這樣的矩形框windows的api提供了乙個函式drawfocusrect,當然這個函式是可以的,不過這個函式有兩個小問題,那就是它的第二個引數是乙個rect引...

VC 滑鼠事件的響應

滑鼠鍵包括左鍵 右鍵和中鍵 滾輪 每個鍵都有三種事件訊息,一是被按下,二是被釋放,三是雙擊。下表列出了滑鼠操作 訊息名稱及處理函式名。滑鼠操作 訊息名稱 處理函式名 左鍵按下 wm lbuttondown onlbuttondown 左鍵釋放 wm lbuttonup onlbuttonup 左鍵雙...

滑鼠在視窗中的座標轉換到 canvas 中的座標

由於需要用到ispointinpath函式,所以必須得將滑鼠在視窗中的座標位置轉換到canvas畫布中的座標,今天發現網上這種非常常見的寫法其實是錯誤的!如下 1.function windowtocanvas canvas,x,y 7.什麼時候會發生錯誤呢?看下面的livescript 1.can...