稍微用脑子想了一下,图形控件没有句柄,因此先把自己的坐标改一改,然后只要把父控件的某些区域Invalidate一下就可以了,WM_PAINT消息一来,父控件就会重绘所有子图形控件,就达到了相应的效果。怪不得没看到调用SetWindowPos这样的函数。有空详细跟踪一下。
举例:
procedure TForm1.Button1Click(Sender: TObject);
begin
image1.Left := image1.Left - 10;
end;
2024-01-31 15:24:34
稍微用脑子想了一下,图形控件没有句柄,因此先把自己的坐标改一改,然后只要把父控件的某些区域Invalidate一下就可以了,WM_PAINT消息一来,父控件就会重绘所有子图形控件,就达到了相应的效果。怪不得没看到调用SetWindowPos这样的函数。有空详细跟踪一下。
举例:
procedure TForm1.Button1Click(Sender: TObject);
begin
image1.Left := image1.Left - 10;
end;