Delphi调用onkeypress

来源:百度知道 编辑:UC知道 时间:2024/06/14 08:23:10
我想在一个窗体弹出后点击按钮后引发一个回车事件,
Edit1.OnKeyPress(sender,Key);
后面的参数是什麽啊?
[Error] Testhand.pas(173): Types of actual and formal var parameters must be identical
后面的错误是我参数设置sender设为窗体,或是Edit1本身,key为#13都报错
请大侠们指点指点

sender就是edit本身,所以你写edit1就可以了
第二个key 要传地址,所以不能用常量#13,你定义一个char类型c:=#13.
然后txt1KeyPress(txt1,c);保你管用

edit1的OnKeyPress事件:
procedure TLoginForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (key = #13) then //在Edit1输入完后敲入回车键,SpeedButton1执行单击操作
SpeedButton1Click(Sender) ;
end;

调用错误,应该调用事件
比如,Edit1的OnKeyPress事件
TForm1.Edit1KeyPress(Sender,Key)

procedure TForm1.Button1Click(Sender: TObject);
var Key: Char;
begin
Key := #97;
Edit1.OnKeyPress(Sender, Key);
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
ShowMessage(Key)
end;