用delphi,在表单中画一个椭圆,编写程序,实现拖动椭圆的效果。求高手指教。。。

2025-03-07 04:43:07
推荐回答(1个)
回答1:

http://www.kongming.cn/kmlearn/lncontent.aspx?id=5824 建议看看这个例子

下面这段是我自己写的代码,希望对你有用:

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
FLG:boolean=false;
implementation
{$R *.dfm}
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
form1.Repaint;
form1.Canvas.Ellipse(x,y,20,20);
FLG := false;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if FLG then
begin
form1.Repaint;
form1.Canvas.Ellipse(x,y,20,20);
end;
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FLG := true;
end;
end.