MFC 滑鼠經過控制項中的button時呈手形

2021-07-03 14:04:30 字數 566 閱讀 3437

就像瀏覽網頁時一樣,當滑鼠經過乙個鏈結時,滑鼠變成手形,在vc中一樣也可以。

一樣非常簡單,只需響應父視窗訊息:onsetcursor(cwnd *pwnd,uint nhittest,unit message)

利用類嚮導為該對話方塊新增onsetcursor(cwnd *pwnd,uint nhittest,unit message)訊息響應函式。

在函式體中加入以下**:

if(pwnd==getdlgitem(idc_buttonid))

注:其中idc_buttonid為你的按鈕id。上面**只能為該對話方塊乙個按鈕新增該動作,如果需要新增多個按鈕動作,可以用這種方法(雖然**不優雅):if(pwnd==getdlgitem(idc_buttonid1)||pwnd==getdlgitem(idc_buttonid2||pwnd==getdlgitem(idc_buttonid3)........)

另外乙個問題:id_hand是vc中的乙個資源,如果編譯出錯,應該在該檔案頭部加上乙個巨集定義:

#define id_hand makeintresource(32649)

編譯大功告成。

MFC 控制項處滑鼠變型

設定滑鼠在對話方塊某個區域的響應,可以新增wm mousemove訊息響應,並在onmousemove 函式中實現操作。但是,控制項其實也是乙個對話方塊。所以,如果要設定滑鼠在控制項所在範圍內的事件,用wm mousemove是行不通的。解決方法 過載onsetcursor 方法。步驟 1.開啟對應...

MFC控制項響應滑鼠中鍵OnMouseWheel

控制項必須獲取焦點才能響應 onmousewheel 因此首先要在控制項的 onlbuttondown 裡呼叫setfocus 然後過載控制項的 onmousewheel 函式 bool cyucvimagecontrol onmousewheel uint nflags,short zdelta,...

MFC中的控制項

mfc的各種控制項使用 靜態控制項,包括,靜態文字和分組框,預設id都是idc static.按鈕控制項 原形按鈕,記住要加group屬性.register 宣告為暫存器變數 explicit 禁止自動轉換 mutable修飾的變數在常函式中也可以被修改了 組合框和列表框控制項 控制項類是ccomb...