只需添加一個OnKeyDown
事件處理程序的形式:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_UP:
Shape1.Top := Shape1.Top - 10;
VK_DOWN:
Shape1.Top := Shape1.Top + 10;
VK_LEFT:
Shape1.Left := Shape1.Left - 10;
VK_RIGHT:
Shape1.Left := Shape1.Left + 10;
end;
end;
你甚至可以做
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Delta: integer;
begin
if ssShift in Shift then
Delta := 1
else
Delta := 10;
case Key of
VK_UP:
Shape1.Top := Shape1.Top - Delta;
VK_DOWN:
Shape1.Top := Shape1.Top + Delta;
VK_LEFT:
Shape1.Left := Shape1.Left - Delta;
VK_RIGHT:
Shape1.Left := Shape1.Left + Delta;
end;
end;
,使用戶可以微調的位置(像素精確度),方法是按住Shift鍵。
第一個不工作,它說:不兼容的類型:整數和程序無類型參數 – user2276109
@ user2276109:我知道它在工作。 –
我告訴過你它對我說的什麼 – user2276109