一、擊鍵與字符消息:
處理按鍵和字元訊息的基本規(guī)則是:如果需要讀取輸入到視窗的鍵盤字元,那么您可以處理WM_CHAR 訊息。如果需要讀取游標鍵、功能鍵、Delete、Insert、Shift、Ctrl 以及Alt 鍵,那么您可以處理WM_KEYDOWN 訊息。
但是Tab 鍵,Enter、Backspace 和Escape 鍵可以處理擊鍵或字符消息都可以、
按鍵 字元代碼 產(chǎn)生方法 ANSI C 控制字元
Backspace 0x08 Ctrl-H \b
Tab 0x09 Ctrl-I \t
Ctrl-Enter 0x0A Ctrl-J \n
Enter 0x0D Ctrl-M \r
Esc 0x1B Ctrl-[
現(xiàn)在一般處理字符消息。
二、//////////////創(chuàng)建插入符
主要有五個插入符號函式:
CreateCaret 建立與視窗有關的插入符號
SetCaretPos 在視窗中設定插入符號的位置
ShowCaret 顯示插入符號
HideCaret 隱藏插入符號
DestroyCaret 撤消插入符號
另外:
GetCaretPos 取得插入符號目前位置
GetCaretBlinkTime 取得插入符號閃爍時間
SetCaretBlinkTime 設定插入符號閃爍時間
使用插入符號的主要規(guī)則很簡單:
1、視窗訊息處理程式在WM_SETFOCUS 訊息理期間呼叫CreateCaret,在WM_KILLFOCUS訊息處理期間呼叫DestroyCaret。
2、插入符號剛建立時是隱蔽的。想使插入符號可見,CreateCaret ,ShowCaret
3、當視窗訊息處理程式處理一條非WM_PAINT 訊息而且希望在視窗內(nèi)繪制某些東西時,它必須呼叫HideCaret 隱藏插入符號。在繪制完畢後,再呼叫ShowCaret顯示插入符號。HideCaret 的影響具有累積效果,相同次數(shù)時,才能看到插入符號。
三、捕獲鼠標:是鼠標移出客戶區(qū)時依然需要鼠標鼠標的位置。這是捕獲
SetCapture (hwnd) ;Windows 將所有滑鼠訊息發(fā)給視窗代號為hwnd 的視窗訊息處理程式。
ReleaseCapture () ;釋放
WPARAM的參數(shù)
符號常量 十六進制值 指定的鼠標或鍵盤按鍵
VK_LBUTTON 01 鼠標左鍵(一般不用)
VK_RBUTTON 02 鼠標右鍵(一般不用)
VK_CANCEL 03 Control-break 過程
VK_MBUTTON 04 鼠標中鍵(一般不用)
VK_BACK 08 BACKSPACE 鍵
VK_TAB 09 TAB 鍵
VK_CLEAR 0C CLEAR 鍵(Num Lock關閉時的數(shù)字鍵盤5)
VK_RETURN 0D ENTER 鍵(回車鍵)
VK_SHIFT 10 SHIFT 鍵
VK_CONTROL 11 CTRL 鍵
VK_MENU 12 ALT 鍵
VK_PAUSE 13 PAUSE 鍵 //???
VK_CAPITAL 14 CAPS LOCK 鍵(大寫鎖定鍵)
VK_ESCAPE 1B ESC 鍵
VK_SPACE 20 SPACEBAR(空格鍵)
VK_PRIOR 21 PAGE UP 鍵(上頁)
VK_NEXT 22 PAGE DOWN 鍵(下頁)
VK_END 23 END 鍵
VK_HOME 24 HOME 鍵(一般用來做開始)
VK_LEFT 25 LEFT ARROW 鍵
VK_UP 26 UP ARROW 鍵
VK_RIGHT 27 RIGHT ARROW 鍵
VK_DOWN 28 DOWN ARROW 鍵
VK_SELECT 29 SELECT 鍵 //????
VK_EXECUTE 2B EXECUTE 鍵 //????
VK_SNAPSHOT 2C PRINT SCREEN鍵(用于Windows 3.0及以后版本)
VK_INSERT 2D INS 鍵(Insert鍵)
VK_DELETE 2E DEL 鍵(Delete鍵)
VK_HELP 2F HELP 鍵 //???找不到
///////////////////////////////////////////////////
對于字母鍵和非小鍵盤上的數(shù)字鍵,直接在單引號中加入該鍵就行.
比如:a鍵:'A'
1鍵:'1'
//////////////////////////////////////////////
VK_LWIN 5B Left Windows 鍵 (Microsoft自然鍵盤)
VK_RWIN 5C Right Windows 鍵 (Microsoft自然鍵盤)
VK_APPS 5D Applications 鍵 (Microsoft自然鍵盤)
VK_NUMPAD0 60 數(shù)字小鍵盤上的 0 鍵
VK_NUMPAD1 61 數(shù)字小鍵盤上的 1 鍵
VK_NUMPAD2 62 數(shù)字小鍵盤上的 2 鍵
VK_NUMPAD3 63 數(shù)字小鍵盤上的 3 鍵
VK_NUMPAD4 64 數(shù)字小鍵盤上的 4 鍵
VK_NUMPAD5 65 數(shù)字小鍵盤上的 5 鍵
VK_NUMPAD6 66 數(shù)字小鍵盤上的 6 鍵
VK_NUMPAD7 67 數(shù)字小鍵盤上的 7 鍵
VK_NUMPAD8 68 數(shù)字小鍵盤上的 8 鍵
VK_NUMPAD9 69 數(shù)字小鍵盤上的 9 鍵
VK_MULTIPLY 6A Multiply 鍵 (*鍵)
VK_ADD 6B Add 鍵(+)
VK_SEPARATOR 6C Separator 鍵
VK_SUBTRACT 6D Subtract 鍵 (—)
VK_DECIMAL 6E Decimal 鍵(.)
VK_DIVIDE 6F Divide 鍵(/)
VK_F1 70 F1 鍵
VK_F2 71 F2 鍵
VK_F3 72 F3 鍵
VK_F4 73 F4 鍵
VK_F5 74 F5 鍵
VK_F6 75 F6 鍵
VK_F7 76 F7 鍵
VK_F8 77 F8 鍵
VK_F9 78 F9 鍵
VK_F10 79 F10 鍵
VK_F11 7A F11 鍵
VK_F12 7B F12 鍵
VK_F13 7C F13 鍵
VK_F14 7D F14 鍵
VK_F15 7E F15 鍵
VK_F16 7F F16 鍵
VK_F17 80H F17 鍵
VK_F18 81H F18 鍵
VK_F19 82H F19 鍵
VK_F20 83H F20 鍵
VK_F21 84H F21 鍵
VK_F22 85H F22 鍵
VK_F23 86H F23 鍵
VK_F24 87H F24 鍵
VK_NUMLOCK 90 NUM LOCK 鍵
VK_SCROLL 91 SCROLL LOCK 鍵
/////下面的鍵盤找不到
VK_ATTN F6 Attn 鍵
VK_CRSEL F7 CrSel 鍵
VK_EXSEL F8 ExSel 鍵
VK_EREOF F9 Erase EOF 鍵
VK_PLAY FA Play 鍵
VK_ZOOM FB Zoom 鍵
VK_OEM_CLEAR FE Clear 鍵
posted on 2011-09-13 16:23
Yu_ 閱讀(390)
評論(0) 編輯 收藏 引用 所屬分類:
Windows程序設計