Windows Mobile 常用鍵值VK對應(yīng)表.docx_第1頁
Windows Mobile 常用鍵值VK對應(yīng)表.docx_第2頁
Windows Mobile 常用鍵值VK對應(yīng)表.docx_第3頁
Windows Mobile 常用鍵值VK對應(yīng)表.docx_第4頁
Windows Mobile 常用鍵值VK對應(yīng)表.docx_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Windows Mobile 常用鍵值(VK)對應(yīng)表 .分類: Windows Mobile 2010-11-03 14:38 1221人閱讀 評論(0) 收藏 舉報(bào) windowsmobilemfcscrollinsertmenu#define VK_TSOFT1 VK_F1 / Softkey 1#define VK_TSOFT2 VK_F2 / Softkey 2#define VK_TTALK VK_F3 / Talk #define VK_TEND VK_F4 / End #define VK_THOME VK_LWIN / Home #define VK_TBACK VK_ESCAPE / Back #define VK_TACTION VK_RETURN / Action #define VK_TRECORD VK_F10 / Record#define VK_TFLIP VK_F17 / Flip#define VK_TPOWER VK_F18 / Power#define VK_TVOLUMEUP VK_F6 / Volume Up #define VK_TVOLUMEDOWN VK_F7 / Volume Down=完整ASCII碼對照表NUL VT 垂直制表 SYN 空轉(zhuǎn)同步 SOH 標(biāo)題開始 FF 走紙控制 ETB 信息組傳送結(jié)束 STX 正文開始 CR 回車 CAN 作廢 ETX 正文結(jié)束 SO 移位輸出 EM 紙盡 EOY 傳輸結(jié)束 SI 移位輸入 SUB 換置 ENQ 詢問字符 DLE 空格 ESC 換碼 ACK 承認(rèn) DC1 設(shè)備控制1 FS 文字分隔符 BEL 報(bào)警 DC2 設(shè)備控制2 GS 組分隔符 BS 退一格 DC3 設(shè)備控制3 RS 記錄分隔符 HT 橫向列表 DC4 設(shè)備控制4 US 單元分隔符 LF 換行 NAK 否定 DEL 刪除鍵盤常用ASCII碼 ESC鍵 VK_ESCAPE (27)回車鍵: VK_RETURN (13)TAB鍵: VK_TAB (9)Caps Lock鍵: VK_CAPITAL (20)Shift鍵: VK_SHIFT ($10)Ctrl鍵: VK_CONTROL (17)Alt鍵: VK_MENU (18)空格鍵: VK_SPACE ($20/32)退格鍵: VK_BACK (8)左徽標(biāo)鍵: VK_LWIN (91)右徽標(biāo)鍵: VK_LWIN (92)鼠標(biāo)右鍵快捷鍵:VK_APPS (93) Insert鍵: VK_Insert (45)Home鍵: VK_HOME (36)Page Up: VK_PRIOR (33)PageDown: VK_NEXT (34)End鍵: VK_END (35)Delete鍵: VK_Delete (46) 方向鍵(): VK_LEFT (37)方向鍵(): VK_UP (38)方向鍵(): VK_RIGHT (39)方向鍵(): VK_DOWN (40)F1鍵: VK_F1 (112)F2鍵: VK_F2 (113)F3鍵: VK_F3 (114)F4鍵: VK_F4 (115)F5鍵: VK_F5 (116)F6鍵: VK_F6 (117)F7鍵: VK_F7 (118)F8鍵: VK_F8 (119)F9鍵: VK_F9 (120)F10鍵: VK_F10 (121)F11鍵: VK_F11 (122)F12鍵: VK_F12 (123)Num Lock鍵: VK_NUMLOCK (144)小鍵盤0: VK_NUMPAD0 (96)小鍵盤1: VK_NUMPAD0 (97)小鍵盤2: VK_NUMPAD0 (98)小鍵盤3: VK_NUMPAD0 (99)小鍵盤4: VK_NUMPAD0 (100)小鍵盤5: VK_NUMPAD0 (101)小鍵盤6: VK_NUMPAD0 (102)小鍵盤7: VK_NUMPAD0 (103)小鍵盤8: VK_NUMPAD0 (104)小鍵盤9: VK_NUMPAD0 (105)小鍵盤.: VK_DECIMAL (110)小鍵盤*: VK_MULTIPLY (106)小鍵盤 : VK_MULTIPLY (107)小鍵盤-: VK_SUBTRACT (109)小鍵盤/: VK_DIVIDE (111)Pause Break鍵: VK_PAUSE (19)Scroll Lock鍵: VK_SCROLL (145)/BZZ/archive/2008/03/13/1103553.html=消息機(jī)制消息機(jī)制是Windows應(yīng)用程序的核心。在Windows中發(fā)生的一切都可以用消息來表示,消息用于告訴操作系統(tǒng)發(fā)生了什么,所有的Windows應(yīng)用程序都是消息驅(qū)動(dòng)的, 在Windows中,不同的消息由應(yīng)用程序的不同部分進(jìn)行處理。MFC庫將很多底層的消息都屏蔽了,使用戶更加方便、簡易地處理消息。例如,用戶接收到諸如移動(dòng)鼠標(biāo)鍵(WM_MOUSEMOVE)消息或單擊鼠標(biāo)鍵(WM_LRBUTTONDOWN)消息時(shí)不必處理窗口和鼠標(biāo)的重畫工作,MFC及應(yīng)用程序框架會(huì)替用戶做這些工作。在使用MFC進(jìn)行編程時(shí),用戶只需處理一些高層的消息,例如,“用戶在單擊窗口中的OK按扭”,“用戶現(xiàn)在選中了下拉列表框中的第五項(xiàng)”等等,這樣就大大減輕了程序員的負(fù)擔(dān)。 一個(gè)消息是由消息的名稱(UINT)和兩個(gè)參數(shù)(WPARAM, LPARAM)組成。消息的參數(shù)中包含有重要的信息。例如對鼠標(biāo)消息而言,LPARAM中一般包含鼠標(biāo)的位置信息,而WPARAM參數(shù)中包含了發(fā)生該消息時(shí),SHIFT、CTRL等鍵的狀態(tài)信息,對于不同的消息類型來說,兩個(gè)參數(shù)也都相應(yīng)地具有明確意義。 消息與輸入焦點(diǎn) Windows是一個(gè)以消息為導(dǎo)向的系統(tǒng),應(yīng)用程序只能被動(dòng)地等待用戶按鍵的消息,不能主動(dòng)地去讀鍵盤的狀態(tài),也就是說,每當(dāng)鍵盤上有個(gè)鍵被按下,系統(tǒng)就會(huì)發(fā)出一個(gè)按鍵消息給窗口,告訴它某個(gè)鍵被按下去了,只要鼠標(biāo)移動(dòng)一下,系統(tǒng)也會(huì)發(fā)出相應(yīng)的消息,并把鼠標(biāo)的坐標(biāo)信息傳給窗口。 Windows可以同時(shí)執(zhí)行許多程序,但鍵盤只有一個(gè),怎么判斷由哪個(gè)窗口接收鍵盤及鼠標(biāo)的消息呢?采用“輸入焦點(diǎn)”(inpuut focus)技術(shù)可以解決這個(gè)問題。只要某個(gè)窗口取得輸入焦點(diǎn),它不但會(huì)被提升到屏幕的最前面,顏色也會(huì)有所不同,所有的鍵盤消息就會(huì)導(dǎo)向該窗口,該窗口也成為“活動(dòng)窗口”。 窗口如何取得輸入焦點(diǎn)?通常被鼠標(biāo)單擊的窗口會(huì)得到輸入焦點(diǎn),除此之外,程序本身也可以利用SetFocus()來指定哪個(gè)窗口擁有輸入焦點(diǎn)。 CWnd* CWnd:SetFocus(); 如果調(diào)用某窗口的SetFocus()成員函數(shù),該窗口就可以取得輸入焦點(diǎn),該函數(shù)返回前一個(gè)擁有輸入焦點(diǎn)的窗口。 如果某個(gè)窗口的輸入焦點(diǎn)被搶走,Windows系統(tǒng)就會(huì)發(fā)出WM_KILLFOCUS消息給這個(gè)失去輸入焦點(diǎn)的窗口,同時(shí)還會(huì)告訴該窗口下一個(gè)取得輸入焦點(diǎn)的窗口的指針。而獲得輸入焦點(diǎn)的窗口則會(huì)收到WM_SETFOCUS消息。 消息響應(yīng)函數(shù)分別為: afx_msg void OnKillFocus(CWnd* pNewWnd); 其中的參數(shù)為得到輸入焦點(diǎn)的窗口的指針。 Afx_msg void OnSetFocus(CWnd* pOldWnd); 其中的參數(shù)為失去輸入焦點(diǎn)的窗口的指針。 消息的分類 Windows系統(tǒng)預(yù)定義了許多消息,每個(gè)消息都擁有一個(gè)宏定義,即用形象的字符串來標(biāo)識(shí)消息,一系列#define 語句將消息與特定數(shù)值聯(lián)系起來,可以在頭文件WinUser.h中找到這些宏定義,例如 #define WM_PAINT 120 可以在程序中通過消息名“WM_PAINT”來訪問它。其他消息如: #define WM_MOUSEMOVE 0x0200 #define WM_LBUTTONDOWN 0x0201 #define WM_LBUTTONUP 0x0202 #define WM_LBUTTONDBLCLK 0x0203 #define WM_RBUTTONDOWN 0x0204 #define WM_RBUTTONUP 0x0205 #define WM_RBUTTONDBLCLK 0x0206 #define WM_MBUTTONDOWN 0x0207 #define WM_MBUTTONUP 0x0208 #define WM_MBUTTONDBLCLK 0x0209 系統(tǒng)定義的消息有不同的前綴,不同的前綴有不同的含義。 1. 標(biāo)準(zhǔn)的Windows消息 除了WM_COMMAND消息,所有以WM_為前綴的消息都是標(biāo)準(zhǔn)的Windows消息,如窗口、鼠標(biāo)移動(dòng)、窗口大小改變等,程序啟動(dòng)或退出甚至每一段固定的時(shí)間都會(huì)產(chǎn)生標(biāo)準(zhǔn)Windows消息。如 1) 鍵盤消息 對于窗口而言,來自用戶的按鍵輸入可分為兩類,一類是系統(tǒng)鍵(system key),另一類則是非系統(tǒng)鍵。凡是ALT和其它鍵一同按下的組合稱為“系統(tǒng)鍵”,窗口收到系統(tǒng)鍵之后,會(huì)自動(dòng)地將它解釋成系統(tǒng)事件,或者查閱鍵盤加速表,將系統(tǒng)鍵翻譯成加速表指定的信息。如:ALT+F4的組合會(huì)迫使窗口關(guān)閉,“ALT+字母”的組合可能會(huì)拉下某個(gè)菜單。 當(dāng)用戶按下某個(gè)鍵時(shí),Windows系統(tǒng)會(huì)先發(fā)出WM_KEYDOWN消息給窗口,這個(gè)消息的意思是“按鍵被壓下去”。接著Windows系統(tǒng)會(huì)發(fā)出WM_CHAR給同一個(gè)窗口,這個(gè)消息代表的意義是“系統(tǒng)送來某個(gè)字符”,如果用戶放開此鍵,Windows系統(tǒng)會(huì)發(fā)出WM_KEYUP消息,表示“按鍵被放開”。如果用戶一直按住某個(gè)鍵不放,經(jīng)過一段時(shí)間之后會(huì)產(chǎn)生“連發(fā)”的效果,造成Windows系統(tǒng)不停地發(fā)出WM_KEYDOWN與WM_CHAR消息。 計(jì)算機(jī)內(nèi)部以ASCII碼的規(guī)則來記錄所有的英文字母和數(shù)字符號(hào)。不過不是鍵盤上每個(gè)按鍵都可以對應(yīng)成ASCII碼中的字符,如大小寫鍵、CTRL鍵、F1到F12鍵等。 每個(gè)按鍵都有對應(yīng)的掃描碼,PC BIOS收到鍵盤的中斷消息后,會(huì)自動(dòng)將掃描碼翻譯成ASCII碼,但有些控制鍵無法譯成ASCII碼,如Page UP、Page Down等。Windows定義了一套與硬件無關(guān)的“虛擬鍵碼”來表示鍵盤上所有的按鍵,如A鍵就是VK_A、ESC鍵就是VK_ESC、F1鍵是VK_F1、ALT鍵是VK_MENU等。因?yàn)椤疤摂M鍵碼”定義的規(guī)則與硬件無關(guān),所以有些虛擬鍵在通常的鍵盤上根本就找不著。 #define VK_LBUTTON 0x01 #define VK_RBUTTON 0x02 #define VK_CANCEL 0x03 #define VK_MBUTTON 0x04 /* NOT contiguous with L & RBUTTON */ #define VK_BACK 0x08 #define VK_TAB 0x09 #define VK_CLEAR 0x0C #define VK_RETURN 0x0D #define VK_SHIFT 0x10 #define VK_CONTROL 0x11 #define VK_MENU 0x12 #define VK_PAUSE 0x13 #define VK_CAPITAL 0x14 #define VK_F1 0x70 #define VK_F2 0x71 #define VK_F3 0x72 #define VK_F4 0x73 #define VK_F5 0x74 #define VK_F6 0x75 #define VK_F7 0x76 #define VK_F8 0x77 #define VK_F9 0x78 #define VK_F10 0x79 # #define WM_CHAR 0x0102 /字符消息 WM_CHAR也稱為鍵盤消息,如果某窗口擁有輸入焦點(diǎn),當(dāng)用戶在應(yīng)用程序運(yùn)行時(shí)按下一個(gè)鍵時(shí),系統(tǒng)就會(huì)產(chǎn)生一個(gè)鍵盤消息WM_CHAR,告訴此窗口鍵盤上哪個(gè)鍵被按下了。該消息的處理函數(shù)為OnChar()。具體形式為: afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 各參數(shù)含義為: nChar: 鍵盤所輸入的ASCII碼。 nRepCnt: 按鍵的重復(fù)次數(shù),當(dāng)用戶按下某個(gè)鍵不放時(shí),該參數(shù)將持續(xù)增加。 nFlag: 用于傳遞按鍵的其它一些信息,如掃描碼,上一次按鍵狀態(tài)等。具體如下: 字節(jié) 說明 0-7 鍵盤掃描碼 8 此按鍵為擴(kuò)充按鍵,如F1,F(xiàn)12等功能鍵,此字節(jié)等于1時(shí)為真 9-12 保留 13 此字節(jié)為1表示按下鍵的同時(shí),ALT鍵也被按住了 14 前一個(gè)按鍵狀態(tài)。此字節(jié)為1代表信息在按鍵被按下之前就送出來了 15 此字節(jié)為1表示這個(gè)按鍵已經(jīng)被放開了,反之就表示還被按著 此外還有兩個(gè)常用的鍵盤消息:WM_KEYDOWN和WM_KEYUP. WM_KEYDOWN消息是當(dāng)用戶按下一個(gè)非系統(tǒng)鍵時(shí)產(chǎn)生的,非系統(tǒng)鍵就是不按下ALT鍵時(shí)的按鍵。 WM_KEYUP 消息是當(dāng)用戶釋放一個(gè)非系統(tǒng)鍵時(shí)產(chǎn)生的。 2) 鼠標(biāo)消息 #define WM_MOUSEMOVE 0x0200 /鼠標(biāo)移動(dòng)消息 當(dāng)鼠標(biāo)在某個(gè)窗口內(nèi)移動(dòng)時(shí),Windows會(huì)不斷地發(fā)出鼠標(biāo)移動(dòng)消息WM_MOUSEMOVE,并把鼠標(biāo)的最新位置傳給該窗口。如果在窗口的范圍內(nèi)按下鼠標(biāo)左鍵,系統(tǒng)就會(huì)發(fā)出“按下左鍵”的WM_LBUTTONDOWN消息給該窗口,等到用戶放開按鍵后,再發(fā)出“放開左鍵”的WM_LBUTTONUP消息給該窗口。 鼠標(biāo)移動(dòng)消息的消息響應(yīng)函數(shù)為: afx_msg void OnMouseMove(UINT nFlags, CPoin

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論