歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

windows程序設(shè)計08

  • 資源ID:248164001       資源大?。?span id="0finqud" class="font-tahoma">83KB        全文頁數(shù):17頁
  • 資源格式: PPT        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

windows程序設(shè)計08

單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,*,第,4,章 鍵盤及鼠標(biāo)的消息響應(yīng),董本志,主要內(nèi)容,鍵盤輸入的響應(yīng),鼠標(biāo)消息的響應(yīng),鍵盤與鼠標(biāo)的組合輸入,一、鍵盤輸入的響應(yīng),1,、程序?qū)嵗?2,、,Windows,程序是如何獲得鍵盤輸入的,鍵盤輸入以,消息,的形式傳遞給程序的窗口消息處理程序。,Windows,用八種不同的消息來傳遞不同的鍵盤事件。程序可以忽略其中至少一半的消息而不會有任何問題。并且,在大多數(shù)情況下,這些消息中包含的鍵盤信息會多于程序所需要的。處理鍵盤的部分工作就是識別出哪些消息是重要的,哪些是不重要的。,3,、鍵盤消息,3.1 WM_KEYDOWN,和,WM_KEYUP,LRESULT CALLBACK,WindowProc,(HWND,hwnd,/handle to window,UINT,uMsg,/WM_KEYDOWN WM_KEYUP,WPARAM,wParam,/virtual-key code VK_F1,LPARAM,lParam,/key data,);,消息的處理過程主要是根據(jù),wParam,中的鍵碼進(jìn)行處理。,例,:,switch(,uMsg,),case WM_KEYDOWN:,switch(wParam,),case VK_LEFT:,/,動作;,return 0,;,VK_LEFT 25 LEFT ARROW key,VK_UP 26 UP ARROW key,VK_RIGHT 27 RIGHT ARROW key,VK_DOWN 28 DOWN ARROW key,(,1,)虛擬鍵碼的定義,虛擬鍵碼保存在,WM_KEYDOWN,、,WM_KEYUP,、,WM_SYSKEYDOWN,和,WM_SYSKEYUP,消息的,wParam,參數(shù)中。此代碼標(biāo)識按下或釋放的鍵。,(,2,),lParam,信息,在按鍵消息,WM_KEYDOWN,、,WM_KEYUP,中,,wParam,消息參數(shù)含有上面所討論的虛擬鍵碼,而,lParam,消息參數(shù)則含有對了解按鍵非常有用的其它信息。,lParam,的,32,位分為,6,個字段,如圖所示。,(,3,)切換鍵信息,在處理按鍵消息時,可能需要知道是否按下了轉(zhuǎn)換鍵(,Shift,、,Ctrl,和,Alt,)或開關(guān)鍵(,Caps Lock,、,Num Lock,和,Scroll Lock,)。通過調(diào)用,GetKeyState,函數(shù),就能獲得此信息。,SHORT,GetKeyState,(,int,nVirtKey,);,/virtual-key code,nVirtKey,VK_SHIFT shift,鍵,VK_CONTROL CTRL,鍵,VK_MENU ALT,鍵,VK_CAPITAL,CapsLock,鍵,VK_LSHIFT,左,shift,鍵,VK_RSHIFT,右,shift,鍵,VK_LCONTROL,VK_RCONTROL,VK_LMENU,VK_RMENU,3.2,字符消息,WM_CHAR,(,1,)消息順序,因?yàn)?TranslateMessage,函數(shù)從,WM_KEYDOWN,和,WM_SYSKEYDOWN,消息產(chǎn)生了字符消息,所以字符消息是夾在按鍵消息之間傳遞給窗口消息處理程序的。例如,如果,Caps Lock,未打開,而使用者按下再釋放,A,鍵,則窗口消息處理程序?qū)⒔邮盏饺缦卤硭镜娜齻€消息:,如果按下,Shift,鍵,再按下,A,鍵,然后釋放,A,鍵,再釋放,Shift,鍵,就會輸入大寫的,A,,而窗口消息處理程序會接收到五個消息,如下表所示:,注意:,Shift,鍵本身不產(chǎn)生字符消息。,(,2,),WM_CHAR,消息,LRESULT CALLBACK,WindowProc,(HWND,hwnd,/handle to window,UINT,uMsg,/WM_CHAR,WPARAM,wParam,/character code(TCHAR),LPARAM,lParam,/key data,);,參數(shù),wParam,不是虛擬鍵碼。實(shí)際上,它是,ANSI,或,Unicode,字符代碼。例:,case WM_CHAR:,switch(wParam,),case a:,/,處理代碼;,break;,default:,return 0;,二、鼠標(biāo)輸入的響應(yīng),當(dāng),Windows,使用者移動鼠標(biāo)時,,Windows,在顯示器上移動一個稱為鼠標(biāo)光標(biāo)的小位圖。鼠標(biāo)光標(biāo)有一個指向顯示器上精確位置的單圖素?zé)狳c(diǎn)。當(dāng)提到鼠標(biāo)光標(biāo)在屏幕上的位置時,指的是熱點(diǎn)的位置。,Windows,支持幾種預(yù)先定義的鼠標(biāo)光標(biāo),程序可以使用這些光標(biāo)。,IDC_ARROW,的斜箭頭(在,WINUSER.H,中定義)。熱點(diǎn)在箭頭的頂端。,IDC_CROSS,光標(biāo)(在本章后面的,BLOKOUT,程序中有用到)的熱點(diǎn)在十字交叉線的中心。,IDC_WAIT,光標(biāo)是一個沙漏,通常用于指示程序正在執(zhí)行。,程序員也可以設(shè)計自己的光標(biāo)。,wndclass.hCursor,=,LoadCursor,(NULL,IDC_ARROW);,下面是一些描述鼠標(biāo)按鍵動作的術(shù)語:,Clicking,按下并放開一個鼠標(biāo)按鍵。,Double-clicking,快速按下并放開鼠標(biāo)按鍵兩次。,Dragging,按住鼠標(biāo)按鍵并移動鼠標(biāo)。,對三鍵鼠標(biāo)來說,三個鍵分別稱為左鍵、中鍵、右鍵。在,Windows,表頭文件中定義的與鼠標(biāo)有關(guān)的標(biāo)識符使用縮寫,LBUTTON,、,MBUTTON,和,RBUTTON,。雙鍵鼠標(biāo)只有左鍵與右鍵,單鍵鼠標(biāo)只有一個左鍵,。,2.1,、顯示區(qū)域鼠標(biāo)消息,當(dāng)鼠標(biāo)移過窗口的顯示區(qū)域時,窗口消息處理程序收到,WM_MOUSEMOVE,消息。當(dāng)在窗口的顯示區(qū)域中按下或者釋放一個鼠標(biāo)按鍵時,窗口消息處理程序會接收到下面這些消息:,對于所有這些消息來說,其,lParam,值均含有鼠標(biāo)的位置:低字節(jié)為,x,坐標(biāo),高字節(jié)為,y,坐標(biāo),這兩個坐標(biāo)是相對于窗口顯示區(qū)域左上角的位置。您可以用,LOWORD,和,HIWORD,宏來提取這些值:,x=LOWORD(,lParam,);y=HIWORD(,lParam,);,wParam,的值指示鼠標(biāo)按鍵以及,Shift,和,Ctrl,鍵的狀態(tài)。,例如,如果收到了,WM_LBUTTONDOWN,消息,而且值,wparam,&MK_SHIFT,是,TRUE,(非,0,),就知道當(dāng)左鍵按下時也按下了,Shift,鍵。,鼠標(biāo)消息響應(yīng)實(shí)例:,switch(message),case WM_LBUTTONDOWN:,/,處理程序,return 0;,case WM_MOUSEMOVE:,if(,wParam,&MK_LBUTTON)/,左鍵按下同時移動鼠標(biāo),/,處理程序,return 0;,case WM_LBUTTONUP:,/,處理程序,return 0;,鼠標(biāo)雙擊消息,雙擊鼠標(biāo)按鍵是指在短時間內(nèi)單擊兩次。要確定為雙擊,則這兩次單擊必須發(fā)生在其相距的實(shí)際位置十分接近的狀況下(內(nèi)定范圍是一個平均系統(tǒng)字體字符的寬,半個字符的高),并且發(fā)生在指定的時間間隔(稱為雙擊速度)內(nèi)。您可以在控制臺中改變時間間隔。,如果希望您的窗口消息處理程序能夠收到雙按鍵的鼠標(biāo)消息,那么在調(diào)用,RegisterClass,初始化窗口類別結(jié)構(gòu)時,必須在窗口風(fēng)格中包含,CS_DBLCLKS,標(biāo)識符:,wndclass.style,=CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS;,如果在窗口風(fēng)格中未包含,CS_DBLCLKS,,而使用者在短時間內(nèi)雙擊了鼠標(biāo)按鍵,那么窗口消息處理程序會接收到下面這些消息:,WM_LBUTTONDOWN,WM_LBUTTONUP,WM_LBUTTONDOWN,WM_LBUTTONUP,鼠標(biāo)雙擊消息,如果您的窗口類別風(fēng)格中包含了,CS_DBLCLKS,,那么雙擊時窗口消息處理程序?qū)⑹盏饺缦孪ⅲ?WM_LBUTTONDOWN,WM_LBUTTONUP,WM_LBUTTONDBLCLK,WM_LBUTTONUP,WM_LBUTTONDBLCLK,消息簡單地替換了第二個,WM_LBUTTONDOWN,消息。,

注意事項(xiàng)

本文(windows程序設(shè)計08)為本站會員(dfg****19)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!