07界面編程5-鼠標、鍵盤與光標_第1頁
已閱讀1頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1第7章界面編程界面編程55鼠標、鍵盤與光標鼠標、鍵盤與光標Windows是一種基于消息的交互式GUI操作系統(tǒng),用戶的操作主要通過鼠標和鍵盤進行。Windows利用消息來處理由用戶操作所引發(fā)的鼠標和鍵盤事件,程序員一般通過在視圖類中添加相應(yīng)的消息響應(yīng)函數(shù),并編寫具體響應(yīng)代碼來處理鼠標和鍵盤消息。鼠標的當前位置由屏幕上的光標來表示,程序員可以根據(jù)需要來動態(tài)設(shè)置不同形狀的光標。本章先介紹鼠標與鍵盤消息及其響應(yīng),然后再討論設(shè)置與隱藏光標的方法

2、,最后給出一個綜合利用鼠標與鍵盤消息響應(yīng)和光標設(shè)置的實例。7.1鼠標鼠標(mouse)是GUI中最常用的指示跟蹤設(shè)備,由美國斯坦福研究所的DouglasEngelbart和BillEnglish于1963年發(fā)明,BillEnglish于1972年發(fā)明滾球式(ball)純機械鼠標,1983年羅技(Logitech)公司發(fā)明了第一只光學機械式(簡稱為光機式或機械式)鼠標,1999年微軟與安捷倫(Aeilent,后改組為安華高Avago)公司

3、合作推出了IntelliEye光學引擎和世界上第一款不需專業(yè)鼠標墊的光電鼠標,2003年微軟和羅技分別推出藍牙無線鼠標,2005年羅技與安華高合作推出了第一款(無線)激光鼠標,2008年微軟推出了采用BlueTrack技術(shù)幾乎兼容所有表面的藍光鼠標?,F(xiàn)代鼠標一般為帶滾輪的三鍵光電或激光式有線或無線(藍牙或紅外)鼠標。7.1.17.1.1鼠標事件與消息鼠標事件與消息鼠標事件(mouseevent)指用戶的鼠標操作,基本的鼠標操作有:按下(

4、press)和松開(release)鼠標鍵、單擊(click)或雙擊(doubleclick)鼠標鍵、移動(move)或拖動(drag)鼠標,其中左鼠標鍵按下松開、移動拖動鼠標在編程中最常用。大多數(shù)鼠標操作都有相對應(yīng)的Windows消息(參見表71)。按照鼠標事件發(fā)生時鼠標光標所處的窗口區(qū)域,可以把鼠標消息分成兩類:?客戶區(qū)(clientarea)鼠標消息:鼠標光標位于窗口的客戶區(qū)時所產(chǎn)生的鼠標消息。?非客戶區(qū)(nonclientare

5、a)鼠標消息:鼠標光標位于窗口的非客戶區(qū)(如邊框、3afx_msgvoidOnLButtonUp(UINTnFlagsCPointpoint)afx_msgvoidOnLButtonDblClk(UINTnFlagsCPointpoint)afx_msgvoidOnRButtonUp(UINTnFlagsCPointpoint)其中的參數(shù):point為鼠標的位置坐標(相對于客戶區(qū)的左上角)、nFlags為標志參數(shù)——可取表72中所列的符

6、號常量值(二進制位,可以用“與”來判斷,用“或”來組合)。表72鼠標響應(yīng)函數(shù)中標志參數(shù)nFlags的取值符號常量符號常量數(shù)值數(shù)值含義含義MK_CONTROL8Ctrl鍵被按下MK_LBUTTON1左鼠標鍵被按下MK_MBUTTON16中鼠標鍵被按下MK_RBUTTON2右鼠標鍵被按下MK_SHIFT4Shift鍵被按下與菜單項的事件處理程序類似,每次當你添加一個鼠標消息(如WM_MOUSEMOVE)響應(yīng)時,MFC類向?qū)鋈缦乱幌盗泄ぷ?/p>

7、:?在頭文件(.h)的類定義中,添加消息響應(yīng)函數(shù)的原型。如:afx_msgvoidOnMouseMove(UINTnFlagsCPointpoint)?在代碼文件(.cpp)尾部,添加含默認代碼的消息響應(yīng)函數(shù)體。如:voidCStudentView::OnMouseMove(UINTnFlagsCPointpoint)TODO:在此添加消息處理程序代碼和在此添加消息處理程序代碼和或調(diào)用默認值或調(diào)用默認值CView::OnMouseMov

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論