请教各位大哥,Delphi中的F1-F12 & Ctrl+(a-z)的键值是什么?(50分)

  • 主题发起人 主题发起人 Sdelphi_fu
  • 开始时间 开始时间
S

Sdelphi_fu

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]
请教各位大哥:在Delphi中F1-F12 &
Ctrl+(a-z) 的键值是什么??
(如回车键是13), 小弟在此多谢了。
 
VK_F1,VK_F2 ... ... VK_F12
TShiftState = set of (ssShift, ssAlt, ssCtrl,
ssLeft, ssRight, ssMiddle, ssDouble);
{ VK_0 thru VK_9 are the same as ASCII '0' thru '9' ($30 - $39) }
{ VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' ($41 - $5A) }
 
vk_a 65 a键 vk_b 66 b键 vk_c 67 c键 vk_d 68 d键 vk_e 69 e键 vk_f 70 f键
vk_g 71 g键 vk_h 72 h键 vk_i 73 i键 vk_j 74 j键 vk_k 75 k键 vk_l 76 l键
vk_m 77 m键 vk_n 78 n键 vk_o 79 o键 vk_p 80 p键 vk_q 81 q键 vk_r 82 r键
vk_s 83 s键 vk_t 84 t键 vk_u 85 u键 vk_v 86 v键 vk_w 87 w键 vk_x 88 x键
vk_y 89 y键 vk_z 90 z键
vk_f1 112 f1键 vk_f2 113 f2键 vk_f3 114 f3键 vk_f4 115 f4键 vk_f5 116 f5键
vk_f6 117 f6键 vk_f7 118 v7键 vk_f8 119 f8键 vk_f9 120 f9键 vk_f10 121 f10键
vk_f11 122 f11键 vk_f12 123 f12键
 
to gyfstar and zswang:
很感谢俩位的帮忙,现在我想了解一下组合键的键值,比如Ctrl+A/Ctrl+s...
它们的组合键值是什么?
 
to gyfstar and zswang:
很感谢俩位的帮忙,我测了一下F1~-F12的键值,好象不对的。
“vk_f1 112 f1键 vk_f2 113 f2键 vk_f3 114 f3键 vk_f4 115 f4键 vk_f5 116 f5键
vk_f6 117 f6键 vk_f7 118 v7键 vk_f8 119 f8键 vk_f9 120 f9键 vk_f10 121 f10键
vk_f11 122 f11键 vk_f12 123 f12键 ”
 
明天告诉你:),资料没在手边
不过我试了,你谢的两位DFW说的好象是对的。
procedure TForm1.Edit1KeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
begin
if key=123 then
beep;
end;
 
to :gyfstar,zswang,beyondair 你好:
很感谢你的热心关照,明天别忘了,我在等你。。。
还有我想了解一下组合键的键值,比如Ctrl+A/Ctrl+s...
它们的组合键值是什么?
 
我查了一下,和上面的两位DFW说的一要样的,另外你要问的Ctrl+A键,组合键不是
字符,没有ASCII码,没有键值,如果你只是要在按下Ctrl+A键触发的话,则在相应控件
的KEYDOWN里写代码
procedure TForm1.Edit1KeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
var
a:word;
begin
if (ssCtrl in Shift) and (Key = Ord('A')) then
//检查是否按下CTRL+A A要大写
beep;
end;

如果是要模拟键盘按下组合键,则要用keybd_event函数,可以查以前的贴子,或MSDN
键值表:都为十六进制值
Symbolic constant name Value (hexadecimal) Mouse or keyboard equivalent
VK_LBUTTON 01 Left mouse button
VK_RBUTTON 02 Right mouse button
VK_CANCEL 03 Control-break processing
VK_MBUTTON 04 Middle mouse button (three-button mouse)
? 05-07 Undefined
VK_BACK 08 BACKSPACE key
VK_TAB 09 TAB key
? 0A-0B Undefined
VK_CLEAR 0C CLEAR key
VK_RETURN 0D ENTER key
? 0E-0F Undefined
VK_SHIFT 10 SHIFT key
VK_CONTROL 11 CTRL key
VK_MENU 12 ALT key
VK_PAUSE 13 PAUSE key
VK_CAPITAL 14 CAPS LOCK key
? 15-19 Reserved for Kanji systems
? 1A Undefined
VK_ESCAPE 1B ESC key
? 1C-1F Reserved for Kanji systems
VK_SPACE 20 SPACEBAR
VK_PRIOR 21 PAGE UP key
VK_NEXT 22 PAGE do
WN key
VK_END 23 END key
VK_HOME 24 HOME key
VK_LEFT 25 LEFT ARROW key
VK_UP 26 UP ARROW key
VK_RIGHT 27 RIGHT ARROW key
VK_DOWN 28 do
WN ARROW key
VK_SELECT 29 SELECT key
? 2A Original equipment manufacturer (OEM) specific
VK_EXECUTE 2B EXECUTE key
VK_SNAPSHOT 2C PRINT SCREEN key for Windows 3.0 and later
VK_INSERT 2D INS key
VK_DELETE 2E DEL key
VK_HELP 2F HELP key
VK_0 30 0 key
VK_1 31 1 key
VK_2 32 2 key
VK_3 33 3 key
VK_4 34 4 key
VK_5 35 5 key
VK_6 36 6 key
VK_7 37 7 key
VK_8 38 8 key
VK_9 39 9 key
? 3A-40 Undefined
VK_A 41 A key
VK_B 42 B key
VK_C 43 C key
VK_D 44 D key
VK_E 45 E key
VK_F 46 F key
VK_G 47 G key
VK_H 48 H key
VK_I 49 I key
VK_J 4A J key
VK_K 4B K key
VK_L 4C L key
VK_M 4D M key
VK_N 4E N key
VK_O 4F O key
VK_P 50 P key
VK_Q 51 Q key
VK_R 52 R key
VK_S 53 S key
VK_T 54 T key
VK_U 55 U key
VK_V 56 V key
VK_W 57 W key
VK_X 58 X key
VK_Y 59 Y key
VK_Z 5A Z key
VK_LWIN 5B Left Windows key (Microsoft Natural Keyboard)
VK_RWIN 5C Right Windows key (Microsoft Natural Keyboard)
VK_APPS 5D Applications key (Microsoft Natural Keyboard)
? 5E-5F Undefined
VK_NUMPAD0 60 Numeric keypad 0 key
VK_NUMPAD1 61 Numeric keypad 1 key
VK_NUMPAD2 62 Numeric keypad 2 key
VK_NUMPAD3 63 Numeric keypad 3 key
VK_NUMPAD4 64 Numeric keypad 4 key
VK_NUMPAD5 65 Numeric keypad 5 key
VK_NUMPAD6 66 Numeric keypad 6 key
VK_NUMPAD7 67 Numeric keypad 7 key
VK_NUMPAD8 68 Numeric keypad 8 key
VK_NUMPAD9 69 Numeric keypad 9 key
VK_MULTIPLY 6A Multiply key
VK_ADD 6B Add key
VK_SEPARATOR 6C Separator key
VK_SUBTRACT 6D Subtract key
VK_DECIMAL 6E Decimal key
VK_DIVIDE 6F Divide key
VK_F1 70 F1 key
VK_F2 71 F2 key
VK_F3 72 F3 key
VK_F4 73 F4 key
VK_F5 74 F5 key
VK_F6 75 F6 key
VK_F7 76 F7 key
VK_F8 77 F8 key
VK_F9 78 F9 key
VK_F10 79 F10 key
VK_F11 7A F11 key
VK_F12 7B F12 key
VK_F13 7C F13 key
VK_F14 7D F14 key
VK_F15 7E F15 key
VK_F16 7F F16 key
VK_F17 80H F17 key
VK_F18 81H F18 key
VK_F19 82H F19 key
VK_F20 83H F20 key
VK_F21 84H F21 key
VK_F22 85H F22 key
VK_F23 86H F23 key
VK_F24 87H F24 key
? 88-8F Unassigned
VK_NUMLOCK 90 NUM LOCK key
VK_SCROLL 91 SCROLL LOCK key
? 92-B9 Unassigned
? BA-C0 OEM specific
? C1-DA Unassigned
? DB-E4 OEM specific
? E5 Unassigned
? E6 OEM specific
? E7-E8 Unassigned
? E9-F5 OEM specific
VK_ATTN F6 Attn key
VK_CRSEL F7 CrSel key
VK_EXSEL F8 ExSel key
VK_EREOF F9 Erase EOF key
VK_PLAY FA Play key
VK_ZOOM FB Zoom key
VK_NONAME FC Reserved for future use.
VK_PA1 FD PA1 key
VK_OEM_CLEAR FE Clear key
 
delphi 的 幫助 win32 SDK refrence 中有所有virtual-key的值﹔
要是測試Ctl,Alt,Shift鍵是否按下﹐在keydown事件中可以用API函數GetKeyState(VK_Control);如果是判斷ConTrol和Shift是否全部按下﹐則﹕
if (GetkeyState(VK_CONTROL) >= 0 ) or (GetkeyState(VK_Shift) >= 0) then
Exit;
在keyDown事件中有參數TShiftState;你也可以使用它﹐具體參考幫助﹔
 
to :beyondair,chenhaobo,gyfstar,zswang:
承蒙各位大哥的热心帮助,小弟感激不尽,问题已解决,50分不成敬意,望请笑纳,
delphibbs.com 功德不限。
best regards
 
多人接受答案了。
 
后退
顶部