如何在form中判断用户按下按键F1,对应的事件是什么,请给出代码(50分)

  • 主题发起人 主题发起人 fscdc1
  • 开始时间 开始时间
F

fscdc1

Unregistered / Unconfirmed
GUEST, unregistred user!
做pos程序,如何在form中判断用户按下按键F1,对应的事件是什么,请给出完整的代码
我的代码是:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Form1.KeyPreview:=true;
if (Key=112) then //按F1
edit1.Text:='F1';
if (Key=113) then //按F2
edit1.Text:='F2';
end;
运行没有出错,但按了F1,F2,edit1.text没有显示'F1'或'F2',为什么?还差什么,能不能给出完整的代码。
 
没错呀!
我也试了一下,edit1.text会显示预定的字符呀!
 
应该不会吧,热键冲突?
 
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//Form1.KeyPreview:=true;这句要放到启动里面去或者直接设计期就设置为true,不然是不会执行到这个过程里来的
if (Key=112) then //按F1 这里可以改为 if (Key=VK_F1) then
edit1.Text:='F1';
if (Key=113) then //按F2 这里可以改为 if (Key=VK_F2) then
edit1.Text:='F2';
end;
 
同上,唉,手快有手慢无啊~
 
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//Form1.KeyPreview:=true;这句要放到启动里面去或者直接设计期就设置为true,不然是不会执行到这个过程里来的
if (Key=112) then //按F1 这里可以改为 if (Key=VK_F1) then
edit1.Text:='F1';
if (Key=113) then //按F2 这里可以改为 if (Key=VK_F2) then
edit1.Text:='F2';
end;



一样!
 
把窗体的属性中KeyPreview设置为true
 
说的对!
 
后退
顶部