版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1第7章界面編程界面編程55鼠標(biāo)、鍵盤與光標(biāo)鼠標(biāo)、鍵盤與光標(biāo)Windows是一種基于消息的交互式GUI操作系統(tǒng),用戶的操作主要通過鼠標(biāo)和鍵盤進(jìn)行。Windows利用消息來處理由用戶操作所引發(fā)的鼠標(biāo)和鍵盤事件,程序員一般通過在視圖類中添加相應(yīng)的消息響應(yīng)函數(shù),并編寫具體響應(yīng)代碼來處理鼠標(biāo)和鍵盤消息。鼠標(biāo)的當(dāng)前位置由屏幕上的光標(biāo)來表示,程序員可以根據(jù)需要來動(dòng)態(tài)設(shè)置不同形狀的光標(biāo)。本章先介紹鼠標(biāo)與鍵盤消息及其響應(yīng),然后再討論設(shè)置與隱藏光標(biāo)的方法
2、,最后給出一個(gè)綜合利用鼠標(biāo)與鍵盤消息響應(yīng)和光標(biāo)設(shè)置的實(shí)例。7.1鼠標(biāo)鼠標(biāo)(mouse)是GUI中最常用的指示跟蹤設(shè)備,由美國斯坦福研究所的DouglasEngelbart和BillEnglish于1963年發(fā)明,BillEnglish于1972年發(fā)明滾球式(ball)純機(jī)械鼠標(biāo),1983年羅技(Logitech)公司發(fā)明了第一只光學(xué)機(jī)械式(簡稱為光機(jī)式或機(jī)械式)鼠標(biāo),1999年微軟與安捷倫(Aeilent,后改組為安華高Avago)公司
3、合作推出了IntelliEye光學(xué)引擎和世界上第一款不需專業(yè)鼠標(biāo)墊的光電鼠標(biāo),2003年微軟和羅技分別推出藍(lán)牙無線鼠標(biāo),2005年羅技與安華高合作推出了第一款(無線)激光鼠標(biāo),2008年微軟推出了采用BlueTrack技術(shù)幾乎兼容所有表面的藍(lán)光鼠標(biāo)?,F(xiàn)代鼠標(biāo)一般為帶滾輪的三鍵光電或激光式有線或無線(藍(lán)牙或紅外)鼠標(biāo)。7.1.17.1.1鼠標(biāo)事件與消息鼠標(biāo)事件與消息鼠標(biāo)事件(mouseevent)指用戶的鼠標(biāo)操作,基本的鼠標(biāo)操作有:按下(
4、press)和松開(release)鼠標(biāo)鍵、單擊(click)或雙擊(doubleclick)鼠標(biāo)鍵、移動(dòng)(move)或拖動(dòng)(drag)鼠標(biāo),其中左鼠標(biāo)鍵按下松開、移動(dòng)拖動(dòng)鼠標(biāo)在編程中最常用。大多數(shù)鼠標(biāo)操作都有相對(duì)應(yīng)的Windows消息(參見表71)。按照鼠標(biāo)事件發(fā)生時(shí)鼠標(biāo)光標(biāo)所處的窗口區(qū)域,可以把鼠標(biāo)消息分成兩類:?客戶區(qū)(clientarea)鼠標(biāo)消息:鼠標(biāo)光標(biāo)位于窗口的客戶區(qū)時(shí)所產(chǎn)生的鼠標(biāo)消息。?非客戶區(qū)(nonclientare
5、a)鼠標(biāo)消息:鼠標(biāo)光標(biāo)位于窗口的非客戶區(qū)(如邊框、3afx_msgvoidOnLButtonUp(UINTnFlagsCPointpoint)afx_msgvoidOnLButtonDblClk(UINTnFlagsCPointpoint)afx_msgvoidOnRButtonUp(UINTnFlagsCPointpoint)其中的參數(shù):point為鼠標(biāo)的位置坐標(biāo)(相對(duì)于客戶區(qū)的左上角)、nFlags為標(biāo)志參數(shù)——可取表72中所列的符
6、號(hào)常量值(二進(jìn)制位,可以用“與”來判斷,用“或”來組合)。表72鼠標(biāo)響應(yīng)函數(shù)中標(biāo)志參數(shù)nFlags的取值符號(hào)常量符號(hào)常量數(shù)值數(shù)值含義含義MK_CONTROL8Ctrl鍵被按下MK_LBUTTON1左鼠標(biāo)鍵被按下MK_MBUTTON16中鼠標(biāo)鍵被按下MK_RBUTTON2右鼠標(biāo)鍵被按下MK_SHIFT4Shift鍵被按下與菜單項(xiàng)的事件處理程序類似,每次當(dāng)你添加一個(gè)鼠標(biāo)消息(如WM_MOUSEMOVE)響應(yīng)時(shí),MFC類向?qū)?huì)做如下一系列工作
7、:?在頭文件(.h)的類定義中,添加消息響應(yīng)函數(shù)的原型。如:afx_msgvoidOnMouseMove(UINTnFlagsCPointpoint)?在代碼文件(.cpp)尾部,添加含默認(rèn)代碼的消息響應(yīng)函數(shù)體。如:voidCStudentView::OnMouseMove(UINTnFlagsCPointpoint)TODO:在此添加消息處理程序代碼和在此添加消息處理程序代碼和或調(diào)用默認(rèn)值或調(diào)用默認(rèn)值CView::OnMouseMov
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- vb鍵盤與鼠標(biāo)事件過程
- 網(wǎng)頁登陸界面論文
- 如何用鼠標(biāo)鍵(鍵盤代替鼠標(biāo))控制電腦
- 鍵盤和鼠標(biāo)的使用ppt
- 任務(wù)5-界面-20160624.docx
- 20154鼠標(biāo)手、鍵盤肘的防治
- 不用鼠標(biāo) 鍵盤功能鍵大全!
- 沒有鼠標(biāo)怎么用鍵盤控制電腦
- labview登陸界面課程設(shè)計(jì)
- 藍(lán)牙無線鍵盤鼠標(biāo)的研制.pdf
- 武漢招考網(wǎng)登陸界面
- 武漢招考網(wǎng)登陸界面
- 項(xiàng)目任務(wù)一autocad2009界面認(rèn)識(shí)
- 用戶手冊2界面詳細(xì)設(shè)計(jì)文檔.doc
- 鼠標(biāo)鍵盤錄制回放研究與實(shí)現(xiàn)-畢業(yè)論文
- 14、第十四章 機(jī)箱、鍵盤、鼠標(biāo)
- 26固井二界面封固系統(tǒng)研究
- 擴(kuò)展鍵盤電路及其編程
- 真正的高手不用鼠標(biāo)鍵盤功能大全
- ps2鼠標(biāo)鍵盤協(xié)議 外文翻譯
評(píng)論
0/150
提交評(píng)論