人機交互程序設(shè)計教學(xué)課件第6課windows輸入消息

人機交互程序設(shè)計教學(xué)課件第6課windows輸入消息

ID:33738196

大?。?72.00 KB

頁數(shù):29頁

時間:2018-05-25

人機交互程序設(shè)計教學(xué)課件第6課windows輸入消息_第1頁
人機交互程序設(shè)計教學(xué)課件第6課windows輸入消息_第2頁
人機交互程序設(shè)計教學(xué)課件第6課windows輸入消息_第3頁
人機交互程序設(shè)計教學(xué)課件第6課windows輸入消息_第4頁
人機交互程序設(shè)計教學(xué)課件第6課windows輸入消息_第5頁
資源描述:

《人機交互程序設(shè)計教學(xué)課件第6課windows輸入消息》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、第6課Windows—輸入消息北方軟件學(xué)院NorthSoftwareInstituteWindows人機交互程序設(shè)計本節(jié)課主要內(nèi)容知識回顧消息機制窗口創(chuàng)建過程鼠標(biāo)消息鍵盤消息窗口相關(guān)API知識回顧問題1:HWND和MSG是什么數(shù)據(jù)類型?問題2:創(chuàng)建窗口的程序流程是什么?問題3:什么是窗口過程處理函數(shù)?問題4:消息結(jié)構(gòu)中有哪些數(shù)據(jù)成員?問題1:HWND和MSG是什么數(shù)據(jù)類型?HWND:窗口句柄MSG:結(jié)構(gòu)體(用來表示消息)typedefstructtagMSG{HWNDhwnd;//接收該消息的窗口句柄UINTmessage;//消息的名稱WPARAMwParam;//附

2、帶參數(shù)LPARAMlParam;//附帶參數(shù)DWORDtime;//消息的傳遞時間POINTpt;//當(dāng)前光標(biāo)位置}MSG;問題2:創(chuàng)建窗口的程序流程是什么?1.設(shè)計一個窗口類;2.注冊窗口類;3.創(chuàng)建窗口;4.顯示及更新窗口;5.*進入消息循環(huán)(擴展)。WNDCLASSRegisterClassExCreateWindowShowWindowUpdateWindowwhile(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}問題3:什么是窗口過程處理函數(shù)?用于處理發(fā)送給窗

3、口的消息。一個Windows應(yīng)用程序的主要代碼部分就集中在窗口過程處理函數(shù)中。LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam)問題4:消息結(jié)構(gòu)中有哪些數(shù)據(jù)成員?LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam)HWNDhWnd消息所屬窗口的句柄UINTmessage消息名稱WPARAMwParam消息的wParam參數(shù)LPARAMlParam消息的lParam參數(shù)想想消息結(jié)構(gòu)?消息機制**(

4、重點知識)鼠標(biāo)消息鼠標(biāo)消息-鼠標(biāo)的消息有哪些?WM_LBUTTONDOWNWM_LBUTTONUPWM_LBUTTONDBLCLKWM_RBUTTONDOWNWM_RBUTTONUPWM_RBUTTONDBLCLKWM_MBUTTONDOWNWM_MOUSEMOVEWM_MOUSEWHEELWM_NCLBUTTONDOWNWM_NCLBUTTONUP等等請查閱MSDN鼠標(biāo)消息-左鍵按下消息WM_LBUTTONDOWN參數(shù)功能:lParam 存放當(dāng)前光標(biāo)的在窗口中的位置。wParam存放一個標(biāo)志,該標(biāo)志注明了當(dāng)鼠標(biāo)左鍵按下的時候還有什么鍵同時被按下。鼠標(biāo)消息-左鍵按下消息

5、如何獲去鼠標(biāo)按下時光標(biāo)的位置坐標(biāo)?xPos=LOWORD(lParam);yPos=HIWORD(lParam);高位字節(jié)yPos低位字節(jié)xPos鼠標(biāo)消息-左鍵按下消息fwKey=wParam;//keyflagsfwKey按位與的值如下:MK_CONTROL:鼠標(biāo)左鍵按下時,系統(tǒng)ctrl鍵同時也被按下。#defineMK_LBUTTON0x0001#defineMK_RBUTTON0x0002#defineMK_SHIFT0x0004#defineMK_CONTROL0x0008#defineMK_MBUTTON0x0010例如:wParam=9(0x1001)MK_

6、CONTROL=8(0x1000)if(fwKey&MK_CONTROL){……}鍵盤消息鍵盤的常用操作鍵盤的常用操作有哪些?輸入字符輸入控制命令……這類的消息有:WM_KEYDOWNWM_KEYUPWM_CHAR……鍵盤消息-鍵盤按下消息WM_KEYDOWN功能:當(dāng)鍵盤中的一個非系統(tǒng)鍵被按下的時候產(chǎn)生該消息。該消息發(fā)送給當(dāng)前鍵盤聚焦的窗口。參數(shù)功能:wParam虛擬鍵值(一般為ASCII碼)lParam鍵盤掃描碼等信息作業(yè)(鍵盤掃描碼?);鍵盤消息-獲得字符消息WM_CHAR功能:當(dāng)WM_KEYDOWN被TranslateMessage函數(shù)翻譯后產(chǎn)生該消息。參數(shù):wP

7、aram:存放字符碼(ASCII)lParam:存放鍵盤掃描碼等。窗口相關(guān)APIBOOLSetWindowText(HWNDhWnd,LPCTSTRlpString);BOOLGetWindowText(HWNDhWnd,LPCTSTRlpString,intnMaxCount);窗口相關(guān)API-使用舉例SetWindowText(hWnd,”helloWord”);charszBuf[512];memset(szBuf,NULL,512);GetWindowText(hWnd,szBuf,512);案例:鼠標(biāo)鍵盤消息實驗1)在窗口的標(biāo)題

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。