Form1.KeyPreview := True;procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key =VK_RETURN) then begin //code end; end;//TshiftState参数是监视ctrl和alt和shift的 //如: if (ssCtrl in Shift ) then begin //code end;
那我比方想在form显示的时候运行这段代码,应该怎么调用?代码应该怎么写?
在Form的OnShow事件中调用Tedit控件的OnKeyDown事件就可以了! 举例: procedure TForm1.FormShow(Sender: TObject); begin Edit1KeyDown(......); end;procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin //--------- end;
我要知道的就是在参数里面怎么写! 就是edit1keydown(),这个括号里面的参数写些什么?
var key: Word; begin key := ...; // VK_RETURN;
Edit1KeyDown(Sender, key, []); // 再如 处理“按下 Ctrl + F1 key := VK_F1; Edit1KeyDown(Sender, key, [ssCtrl]); end;注: TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);
这个事件就可以了!
Form1.KeyPreview := True;procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key =VK_RETURN) then
begin
//code
end;
end;//TshiftState参数是监视ctrl和alt和shift的
//如:
if (ssCtrl in Shift ) then
begin
//code
end;
举例:
procedure TForm1.FormShow(Sender: TObject);
begin
Edit1KeyDown(......);
end;procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//---------
end;
就是edit1keydown(),这个括号里面的参数写些什么?
key: Word;
begin
key := ...; // VK_RETURN;
Edit1KeyDown(Sender, key, []); // 再如 处理“按下 Ctrl + F1
key := VK_F1;
Edit1KeyDown(Sender, key, [ssCtrl]);
end;注:
TShiftState = set of (ssShift, ssAlt, ssCtrl,
ssLeft, ssRight, ssMiddle, ssDouble);