if key=Char(39) then showmessage('你按下了右键');只要将word转换成char即可。
//你原来有的代码: procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if key=#32 then begin //...按下空格之后进行处理的语句 end; end;//新加的代码: procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var k:Char; begin k:=#32; if key=39 then Edit1KeyPress(Sender,k); end;
或://新加的代码: procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var k:Char; begin if key=39 then begin k:=#32; Edit1KeyPress(Sender,k); end; end;
而像方向键,Home,end,...等没有ASCII码,所以不会触keypress事件为什么一定要用keypress,可以变用KeyDown+KeyUp的
还有 click 可以放到 mouseup
if(空格键 || 下方向键)
doEvent... ...
showmessage('你按下了右键');只要将word转换成char即可。
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#32 then begin
//...按下空格之后进行处理的语句
end;
end;//新加的代码:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var k:Char;
begin
k:=#32;
if key=39 then Edit1KeyPress(Sender,k);
end;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var k:Char;
begin
if key=39 then begin
k:=#32;
Edit1KeyPress(Sender,k);
end;
end;