




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1,第6章 鼠標(biāo)程序設(shè)計(jì),本章主要內(nèi)容: 鼠標(biāo)消息處理 使用鼠標(biāo)畫點(diǎn) 使用鼠標(biāo)畫線,2,6.1 鼠標(biāo)消息處理 鼠標(biāo)是重要的輸入設(shè)備。在Windows圖形操作系統(tǒng)中,鼠標(biāo)發(fā)揮了強(qiáng)大的威力,因而對(duì)它的控制與使用越來越受到用戶的重視。Windows提供了統(tǒng)一的鼠標(biāo)編程接口,該接口是對(duì)通過鼠標(biāo)消息實(shí)現(xiàn)的。當(dāng)用戶移動(dòng)鼠標(biāo),按下或釋放鼠標(biāo)按鍵時(shí),都會(huì)觸發(fā)鼠標(biāo)消息。根據(jù)鼠標(biāo)所在位置的不同,鼠標(biāo)消息可以分為客戶區(qū)鼠標(biāo)消息和非客戶區(qū)鼠標(biāo)消息。,3,(1) 客戶區(qū)鼠標(biāo)消息 當(dāng)用戶移動(dòng)鼠標(biāo)通過應(yīng)用程序窗口的客戶區(qū)時(shí),應(yīng)用程序會(huì)接收一連串WM_MOUSEMOVE消息,這些消息不僅告訴應(yīng)用程序鼠標(biāo)在移動(dòng),還告訴應(yīng)用程序
2、觸發(fā)消息時(shí)鼠標(biāo)的位置。 當(dāng)鼠標(biāo)移動(dòng)到應(yīng)用程序窗口的客戶區(qū)外面時(shí),應(yīng)用程序則停止接收客戶區(qū)鼠標(biāo)消息,大部分應(yīng)用程序不處理非客戶區(qū)鼠標(biāo)消息。,4,常用客戶區(qū)鼠標(biāo)消息 鼠標(biāo)移動(dòng) WM_MOUSEMOVE 在客戶區(qū)移動(dòng) 鼠標(biāo)左鍵 WM_LBUTTONUP 左鍵釋放 WM_LBUTTONDOWN 左鍵 按下 WM_LIBUTTONDBCLK 鼠標(biāo)雙擊 鼠標(biāo)右鍵 WM_RBUTTONUP 右鍵釋放 WM_RBUTTONDOWN 鼠標(biāo)右鍵 按下 WM_RBUTTONDBCLK 鼠標(biāo)右鍵雙擊,2,5,(2) 非客戶區(qū)鼠標(biāo)消息 在應(yīng)用程序窗口中,除了客戶區(qū)以外的部分都是非客戶區(qū),當(dāng)鼠標(biāo)通過非客戶區(qū)時(shí),就會(huì)觸發(fā)與
3、客戶區(qū)鼠標(biāo)消息類似的非客戶區(qū)鼠標(biāo)消息,大部分應(yīng)用程序不處理非客戶區(qū)鼠標(biāo)消息。 MFC把客戶區(qū)鼠標(biāo)消息的處理函數(shù)封裝在CView類中,這些函數(shù)都是虛函數(shù),其中常用的客戶區(qū)鼠標(biāo)消息處理函數(shù)如下: afx_msg void OnMouseMove(UINT nFlag, CPoint point); 鼠標(biāo)消息處理函數(shù)原型中的nFlag表示按下的虛擬鍵,point 表示當(dāng)前鼠標(biāo)坐標(biāo)。,6,(3) 加處理客戶區(qū)鼠標(biāo)消息方法的函數(shù),4,7,(4) 編輯函數(shù),5,8,修改函數(shù)如下:,6,9,鼠標(biāo)和鍵盤組合的標(biāo)志,point.x, point.y 為鼠標(biāo)光標(biāo)的坐標(biāo),7,MK_SHIFT 表示 shift+左鍵
4、,10,(5) 編譯,運(yùn)行 在客戶區(qū)鼠標(biāo)左鍵 按下時(shí):, 處理鼠標(biāo)左鍵消息代碼的位置:(三處),8,11, 在頭文件DrawView.h中,9,函數(shù)說明,12, 在文件DrawView.cpp中,消息映射宏,10,13, 在文件DrawView.cpp中定義函數(shù)體,11,14,Shift 鍵+鼠標(biāo)組合,也可以 MK_CONTROL+鼠標(biāo)組合,12,15,Shift 鍵與鼠標(biāo)組合,13,16,6.2 使用鼠標(biāo)畫點(diǎn),加成員變量,在Classview 擊右鍵,14,17,雙擊看定義,15,18,雙擊看初始化,16,19,初始化,17,20,置畫點(diǎn)壯態(tài),18,21,置畫點(diǎn)壯態(tài),置色,19,22,20,
5、23,6.3 使用鼠標(biāo)畫線 處理的鼠標(biāo)消息是: WM_LBUTTONDOWN 單擊左鍵 WM_MOUSEMOVE 移動(dòng)左鍵 WM_LBUTTONDOWN 單擊左鍵 (1). 在DrawView 中添加兩個(gè)標(biāo)注線段起點(diǎn)坐標(biāo)的整形變量及畫線步數(shù)的整型變量。 m_nStartX x坐標(biāo) m_nStartY y坐標(biāo) m_nStep; 0 起點(diǎn), 1 終點(diǎn),21,24,右鍵,22,25,23,3變量,26,為變量賦初值:,雙擊,24,27,25,初值,28,修改成員函數(shù):,26,29,27,30,編譯運(yùn)行:,28,也可改變筆的屬性:,31,定模式及風(fēng)格,29,32,編譯運(yùn)行:,橡皮線工作原理,30,33,加 WM_MOUSEMOVE 消息處理成員函數(shù):,31,34,編輯函數(shù):,32,35,添加記錄終點(diǎn)坐標(biāo)的成員變量:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園超市經(jīng)營(yíng)管理制度
- 校園防疫衛(wèi)生管理制度
- 2024年射頻消融治療儀項(xiàng)目投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 會(huì)議接待人員崗位職責(zé)
- 多尺度群落組裝機(jī)制-洞察及研究
- 實(shí)習(xí)期間工作表現(xiàn)與能力證明(5篇)
- 農(nóng)村新能源開發(fā)與管理責(zé)任書
- 《基因工程基礎(chǔ)知識(shí):高中生物教學(xué)教案》
- 腫瘤免疫療法-第2篇-洞察及研究
- 信息技術(shù)咨詢服務(wù)合同書
- 人工肝治療指南課件
- 2021年新教材人教A版高中數(shù)學(xué)必修第一冊(cè)第五章三角函數(shù) 教學(xué)課件
- 掘進(jìn)機(jī)整機(jī)出廠檢驗(yàn)報(bào)告
- 最新版中小學(xué)校服選用自查整改報(bào)告
- 旅行社的導(dǎo)游管理制度
- DB4201∕T 645-2021 房地產(chǎn)經(jīng)紀(jì)服務(wù)規(guī)范
- 撥叉綜合課程設(shè)計(jì)
- 壓鑄件QC工程圖
- 常用標(biāo)準(zhǔn)波導(dǎo)和法蘭尺寸
- pH 值對(duì)檸檬酸緩凝效果影響的研究
- 705型試驗(yàn)臺(tái)技術(shù)條件及說明書
評(píng)論
0/150
提交評(píng)論