[英]How can I move a control in Delphi at runtime using the keyboard?
如果您知道如何执行它的不同部分,这将非常容易。
创建一个新的 VCL 应用程序。
在窗体上放置一个TShape
。
将以下OnKeyDown
事件处理程序添加到表单:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
const
D = 2;
begin
case Key of
VK_UP:
Shape1.Top := Shape1.Top - D;
VK_DOWN:
Shape1.Top := Shape1.Top + D;
VK_LEFT:
Shape1.Left := Shape1.Left - D;
VK_RIGHT:
Shape1.Left := Shape1.Left + D;
end;
end;
然而,话虽如此:
通过在窗体上移动控件来创建动画是错误的。
相反,如果您想创建动画,正确的做法是使用 GDI、GDI+、OpenGL 或 DirectX/Direct2D 手动绘制它们。 这是我如何做到这一点的标准示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.