修改滑鼠游標的形狀(二)

2021-06-15 21:29:52 字數 1022 閱讀 3975

在 cmydialog 增加成員變數 hcursor m_hmycurosr; 並在 cmydialog 建構函式中將其初始化:

m_hmycurosr 

=null;

我的想法是通過 cmydialog::m_hmycurosr 來儲存所要使用的滑鼠游標形狀,當其為 null 的時候,則使用系統預設的滑鼠游標。另外在 cmydialog 中增加 public 成員函式 setmycursor() 供外部呼叫(這個大家應該可以理解吧),其實現如下:

////

//函式名: cmydialog::setmycursor

////

訪問權: public

////

描述: 設定新的滑鼠游標 

////

引數://

hcursor 

//新的滑鼠游標控制代碼,為 null 表示使用系統預設滑鼠游標形狀

////

返回值: 返回之前所使用的滑鼠游標控制代碼

////

hcursor cmydialog::setmycursor(hcursor hcursor)

方法一:在處理 wm_setcursor 訊息的時候呼叫 api 函式 setcursor() 來修改滑鼠游標形狀。

如果滑鼠引起游標在某個視窗中移動,且滑鼠輸入沒有**獲時,該視窗就會收到 wm_setcursor 訊息,我們可以把 wm_setcursor 理解成是專門用來設定滑鼠游標形狀的訊息,在 vc6 中通過 classwizard 可以自動生成 wm_setcursor 對應的訊息函式 onsetcursor(),其實現如下:

on_wm_setcursor()

bool cmydialog::onsetcursor(cwnd

*pwnd, uint nhittest, uint message)

return

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

*要注意的是,當設定了滑鼠游標以後,您應該讓函式返回 true 以防止系統再作預設處理。

Windows滑鼠游標形狀

標準游標 可用的 windows 預定義游標 idc arrow standard arrow cursor idc ibeam standard text insertion cursor idc wait hourglass cursor used when windows performs a...

VC 設定游標(滑鼠)形狀

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

JavaScript控制改變滑鼠的形狀

第一方法就是在css裡面定義 第二方法就是在style中定義 列舉比較常用的 cursor hand 手型 cursor default 最常用的箭頭狀 cursor text 文字 crosshair 十字 cursor wait 漏斗 cursor help 問號 cursor e resize...