procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin CASE KEY OF VK_PRIOR:EDIT1.Text:='前'; VK_NEXT:EDIT1.Text:='后'; vk_DOWN:EDIT1.Text:='下'; vk_Up:EDIT1.Text:='上'; VK_LEFT:EDIT1.Text:='左'; VK_Right:EDIT1.Text:='右'; END; end;
CASE KEY OF
VK_PRIOR:TABLE1.PRIOR;(PAGEUP)
VK_NEXT:TABLE1.NEXT;(PAGEDOWN)
资料来源:Delphi Windows 单元文件 表格整理:http://www.netgocn.com
VK_LBUTTON = 1;
VK_RBUTTON = 2;
VK_CANCEL = 3;
VK_MBUTTON = 4; { NOT contiguous with L & RBUTTON }
VK_BACK = 8;
VK_TAB = 9;
VK_CLEAR = 12;
VK_RETURN = 13;
VK_SHIFT = $10;
VK_CONTROL = 17;
VK_MENU = 18;
VK_PAUSE = 19;
VK_CAPITAL = 20;
VK_KANA = 21;
VK_HANGUL = 21;
VK_JUNJA = 23;
VK_FINAL = 24;
VK_HANJA = 25;
VK_KANJI = 25;
VK_CONVERT = 28;
VK_NONCONVERT = 29;
VK_ACCEPT = 30;
VK_MODECHANGE = 31;
VK_ESCAPE = 27;
VK_SPACE = $20;
VK_PRIOR = 33;
VK_NEXT = 34;
VK_END = 35;
VK_HOME = 36;
VK_LEFT = 37;
VK_UP = 38;
VK_RIGHT = 39;
VK_DOWN = 40;
VK_SELECT = 41;
VK_PRINT = 42;
VK_EXECUTE = 43;
VK_SNAPSHOT = 44;
VK_INSERT = 45;
VK_DELETE = 46;
VK_HELP = 47;
{ 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_LWIN = 91;
VK_RWIN = 92;
VK_APPS = 93;
VK_NUMPAD0 = 96;
VK_NUMPAD1 = 97;
VK_NUMPAD2 = 98;
VK_NUMPAD3 = 99;
VK_NUMPAD4 = 100;
VK_NUMPAD5 = 101;
VK_NUMPAD6 = 102;
VK_NUMPAD7 = 103;
VK_NUMPAD8 = 104; VK_NUMPAD9 = 105;
VK_MULTIPLY = 106;
VK_ADD = 107;
VK_SEPARATOR = 108;
VK_SUBTRACT = 109;
VK_DECIMAL = 110;
VK_DIVIDE = 111;
VK_F1 = 112;
VK_F2 = 113;
VK_F3 = 114;
VK_F4 = 115;
VK_F5 = 116;
VK_F6 = 117;
VK_F7 = 118;
VK_F8 = 119;
VK_F9 = 120;
VK_F10 = 121;
VK_F11 = 122;
VK_F12 = 123;
VK_F13 = 124;
VK_F14 = 125;
VK_F15 = 126;
VK_F16 = 127;
VK_F17 = 128;
VK_F18 = 129;
VK_F19 = 130;
VK_F20 = 131;
VK_F21 = 132;
VK_F22 = 133;
VK_F23 = 134;
VK_F24 = 135;
VK_NUMLOCK = 144;
VK_SCROLL = 145;
{ VK_L & VK_R - left and right Alt, Ctrl and Shift virtual keys.
Used only as parameters to GetAsyncKeyState() and GetKeyState().
No other API or message will distinguish left and right keys in this way. }
VK_LSHIFT = 160;
VK_RSHIFT = 161;
VK_LCONTROL = 162;
VK_RCONTROL = 163;
VK_LMENU = 164;
VK_RMENU = 165;
VK_PROCESSKEY = 229;
VK_ATTN = 246;
VK_CRSEL = 247;
VK_EXSEL = 248;
VK_EREOF = 249;
VK_PLAY = 250;
VK_ZOOM = 251;
VK_NONAME = 252;
VK_PA1 = 253;
VK_OEM_CLEAR = 254
PGUP = $4900,
PGDN = $5100,
CUR_R = $4d00,
CUR_L = $4b00,
CUR_U = $4800,
CUR_D = $5000;
Shift: TShiftState);
begin
CASE KEY OF
VK_PRIOR:EDIT1.Text:='前';
VK_NEXT:EDIT1.Text:='后';
vk_DOWN:EDIT1.Text:='下';
vk_Up:EDIT1.Text:='上';
VK_LEFT:EDIT1.Text:='左';
VK_Right:EDIT1.Text:='右';
END;
end;
case Ord(ReadKey) of
$49: ...//page up
$51: //page down
$4d: //right
$4b: //left
$48: //up
$50: //down
end;
另外再问一下:有一个Ramkey(key)还有个inkey(key);是那个版本的?我在读一个十年前的古董,这几个地方不知道怎么改!要补充单元文件吗?
inkey(key)判断是否有键按下,有返回1(或True),记不清了。
如果有,应该在BOIS单元。
如果有,应该在BIOS单元。
F2 = $3c,
F3 = $3d,
F4 = $3e,
F5 = $3f,
F6 = $40,
F7 = $41,
F8 = $42,
F9 = $43,
F10 = $44,
INS = $52,
DEL = $53,
HOME = $47,
END = $4f
另开一贴标题:我想知道兄台是如何知道这些($4f.....)的?分数100;
maozefa(之源)兄台来领分吧!!!
http://expert.csdn.net/Expert/topic/1295/1295664.xml?temp=.8464624