2.在Sample工程的資源文件中引入光標文件將其ID設為"IDC—HAND",在SAMPLE—DIALOG的對話(huà)框中加入靜態(tài)文本控件將其ID設為"IDC—LINK",Caption設為"
3.在對話(huà)類(lèi)的頭文件(SampleDlg.h)添加數據成員
protected:
RECT m—pRectLink; //用于保存靜態(tài)文本框的屏幕坐標
4.獲取控件坐標
在對話(huà)類(lèi)成員函數OnInitDialog()中添加以下代碼(sampleDlg.cpp):
GetDlgItem(IDC—LINK)-〉GetWindowRect(&m—pRectLink);
//將靜態(tài)文本的屏幕坐標存放在m—pRectLink中
ScreenToClient(&m—pRectLink);
//將屏幕坐標轉換為客戶(hù)坐標
5.變換鼠標形狀
利用ClassWizard為對話(huà)框添加OnMouseMove()消息,在函數OnMouseMove(UINT nFlags, CPoint point)中,point參數可獲得對應于窗口左上角的鼠標坐標,通過(guò)判斷算法就可實(shí)現事件的控制。
//下面設置鼠標在靜態(tài)文本區時(shí),將光標設成小手狀
if (point.x〉m—pRectLink.left&&point.x〈m—pRectLink.right&&point.y〉m—pRectLink.top&&point.y〈m—pRectLink.bottom)
//此處添加判斷坐標算法
{ HCURSOR hCursor;
hCursor=AfxGetApp()-〉LoadCursor(IDC—HAND);
//將鼠標設為小手狀
SetCursor(hCursor); }
//下面語(yǔ)句用來(lái)設置默認(箭頭)鼠標形狀,一般鼠標移開(kāi)后窗口會(huì )自動(dòng)恢復默認鼠標形狀,可酌情添加
if (...)//此處酌情添加鼠標不在靜態(tài)文本區的坐標算法,本例可不加
{ hCURSOR hCursor;
hCursor=AfxGetApp()-〉LoadStandardCursor(IDC—IBEAM);
//將光標設為默認值(箭頭)
SetCursor(hCursor); }
6.添加鼠標單擊事件
利用ClassWizard為對話(huà)框添加OnLButtonDown()消息,參數與OnMouseMove()一樣。
if (point.x〉m—pRectLink.left&&point.x〈m—pRectLink.right&&point.y〉m—pRectLink.top&&point.y〈m—pRectLink.bottom)
//此處添加判斷坐標算法
{ if (nFlags==MK—LBUTTON)//鼠標左鍵按下
{ //為改善鼠標效果,此處加入以上變換鼠標形狀的代碼
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。