使用消息可以处理此问题。procedure GetMessave(var Msg: TMsg; var Handled: Boolean); begin if Msg.message =WM_KeyDown then begin if (Form10103.Active=False)and(Form10102.Active=True) then begin if Msg.wParam=114 then BitBtn1.Click; if Msg.wParam=115 then begin if Self.Showing then if (StringGrid2.RowCount>2)and(StringGrid2.Col=4)and(StringGrid2.Row>1) then StringGrid2.Cells[StringGrid2.Col,StringGrid2.Row]:=StringGrid2.Cells[StringGrid2.Col,StringGrid2.Row-1]; end; end; end; end;
具体的判断写写挺繁的
http://kingron.delphibbs.com 在编程技术里面可以找到:判断一个按键序列
begin
if Msg.message =WM_KeyDown then
begin
if (Form10103.Active=False)and(Form10102.Active=True) then
begin
if Msg.wParam=114 then
BitBtn1.Click;
if Msg.wParam=115 then
begin
if Self.Showing then
if (StringGrid2.RowCount>2)and(StringGrid2.Col=4)and(StringGrid2.Row>1) then
StringGrid2.Cells[StringGrid2.Col,StringGrid2.Row]:=StringGrid2.Cells[StringGrid2.Col,StringGrid2.Row-1];
end;
end;
end;
end;