1. 程式人生 > >MFC 滑鼠經過控制元件中的button時呈手形

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

就像瀏覽網頁時一樣,當滑鼠經過一個連結時,滑鼠變成手形,在VC中一樣也可以。
一樣非常簡單,只需響應父視窗訊息:OnSetCursor(CWnd *pWnd,UINT nHitTest,UNIT message)
利用類嚮導為該對話方塊新增OnSetCursor(CWnd *pWnd,UINT nHitTest,UNIT message)訊息響應函式。
在函式體中加入以下程式碼:
if(pWnd==GetDlgItem(IDC_BUTTONID))
{
SetCursor(LoadCursor(NULL,ID_HAND));
return TURE;
}
注:其中IDC_BUTTONID為你的按鈕ID。上面程式碼只能為該對話方塊一個按鈕新增該動作,如果需要新增多個按鈕動作,可以用這種方法(雖然程式碼不優雅):if(pWnd==GetDlgItem(IDC_BUTTONID1)||pWnd==GetDlgItem(IDC_BUTTONID2||pWnd==GetDlgItem(IDC_BUTTONID3)........)
另外一個問題:ID_HAND是VC中的一個資源,如果編譯出錯,應該在該檔案頭部加上一個巨集定義:
#define ID_HAND MAKEINTRESOURCE(32649)