滑鼠形狀設定引數

2021-06-19 11:47:34 字數 1349 閱讀 4520

設定滑鼠在對話方塊某個區域的響應,可以新增wm_mousemove訊息響應,並在onmousemove()函式中實現操作。

但是,控制項其實也是乙個對話方塊。所以,如果要設定滑鼠在控制項所在範圍內的事件,用wm_mousemove是行不通的。

解決方法:

過載onsetcursor()方法。

步驟:1.開啟對應對話方塊的類嚮導classwizard。

2.在訊息對映messagemaps中新增訊息message:wm_setcursor。

3.然後程式**中會新增進函式:

onsetcursor(cwnd* pwnd, uint nhittest, uint message

4.在該函式中新增if語句,其中的條件語句判斷是否到達指定控制項,

如:if(pwnd == getdlgitem(idc_btn_modify)) 

5.在if語句中將滑鼠設定成目標樣式

setcursor(loadcursor(null, idc_hand)); 

//此處idc_hand是自定義的滑鼠形狀,下面再詳細解釋

整個函式的**如下:

bool chall::onsetcursor(cwnd* pwnd, uint nhittest, uint message)

return cdialog::onsetcursor(pwnd, nhittest, message);}

*滑鼠形狀

滑鼠的形狀由setcursor函式的第二個引數決定,表示游標資源。

1.系統游標資源名稱

標準的箭頭和小沙漏

idc_arrow 

標準的箭頭

idc_cross 

十字游標

idc_help 

標準的箭頭和問號

idc_ibeam 

工字游標

idc_no 

禁止圈idc_sizeall 

四向箭頭指向東、西、南、北

idc_sizenesw 

雙箭頭指向東北和西南

idc_sizens 

雙箭頭指向南北

idc_sizenwse 

雙箭頭指向西北和東南

idc_sizewe 

雙箭頭指向東西

idc_uparrow 

垂直箭頭

idc_wait 

沙漏 2.自定義游標形狀

在stdafx.h中,或者對應對話方塊的標頭檔案中巨集定義:

#ifndef idc_hand

#define idc_hand makeintresource(32649)

#endif

①以上表示使用手型,其實也屬於系統圖示,loadcursor的第一引數為null。

VC 設定游標(滑鼠)形狀

一 從檔案載入游標圖示 hcursor hcur loadcursorfromfile anicur.ani 載入游標 setclasslong getsafehwnd gcl hcursor,long hcur 二 載入系統游標 setcursor loadcursor null,idc hand...

vb MousePointer 滑鼠形狀

mousepointer 屬性用來顯示滑鼠箭頭的形狀的。可在c windows cursors 找到這些形狀。常數 值 描述 vbdefault 0 預設值 vbarrow 1 箭頭 vbcrosshair 2 十字線 vbibeam 3 i 型標 vbiconpointer 4 圖示 vbsize...

CSS 滑鼠形狀

css樣式中滑鼠形狀的改變是通過cursor屬性來決定的,如下所示 cursor auto hand pointer crosshair default text vertical text wait move help row resize col resize all scroll progre...