TEdit如何得到按键信息并显示出来?
例如:用户在TEDIT上 按 Ctrl+F1, TEdit上显示Ctrl+F1对于功能键,onkeydown事件 的 char 值不对应。
F1 对应 p
F2 对应 q
..
Enter 键 检测不到。TEDIT如何捕捉到所有按键?
例如:用户在TEDIT上 按 Ctrl+F1, TEdit上显示Ctrl+F1对于功能键,onkeydown事件 的 char 值不对应。
F1 对应 p
F2 对应 q
..
Enter 键 检测不到。TEDIT如何捕捉到所有按键?
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
temp: string;
begin
temp := '';
if ssShift in Shift then temp := temp + 'Shift+';
if ssAlt in Shift then temp := temp + 'Alt+';
if ssCtrl in Shift then temp := temp + 'Ctrl+';
case Key of
vk_f1: temp := temp + 'F1';
vk_f2: temp := temp + 'F2';
//只写上面两个功能键的代码吧,大量的重复代码自己写,以及网上搜虚拟键值表
else temp := temp + Char(Key);
end;
Key := 0;
Edit1.Text := temp;
end;
case Key of
vk_f1: temp := temp + 'F1';
vk_f2: temp := temp + 'F2';
13 : temp := temp + 'Enter';
......
至少有一点是值得大家学习的,那就是不断改进自己的代码,并从中学习及养成良好的习惯。
keyup,keydown等也可