delphi中两张图片的处理有关问题

delphi中两张图片的处理问题
最近在做一个课程设计,主要部分是使用delphi进行的。希望能够实现先载入一张中国地图作为背景,然后载入一架小飞机的图标,通过delphi实现让飞机从江苏飞到北京。(如果能够自己设定路线更好)我是delphi新手,目前实现了载入地图,可是载入飞机图标时,飞机图标出现在另外一个界面,求指点:如何让两个图片出现在一个界面,并且让飞机图标出现在地图之上,如何让飞机在地图上即另外一张图片上移动。谢谢~

------解决方案--------------------
1.Image1.Picture.LoadFromFile(('e:\delphi lab\Chinamap1.bmp'));
Image1.Picture.LoadFromFile(('e:\delphi lab\J20.bmp'));
至少是
Image1.Picture.LoadFromFile(('e:\delphi lab\Chinamap1.bmp'));
Image2.Picture.LoadFromFile(('e:\delphi lab\J20.bmp'));
2.在Timer1Timer中改变Image2的坐标


------解决方案--------------------
这个能动的,

Image1:地图
Image2:飞机(最好是透明的)放在左上角,向右下角运动。
Timer1:时间控件,Interval:=50;

其它的自己做吧!


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;

type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
//判断是否到达某点
if self.Image2.Top<=0 then self.Timer1.Enabled :=false;
if self.Image2.left<=0 then self.Timer1.Enabled :=false;
if self.Image2.Left+self.Image2.Width>=self.Width then self.Timer1.Enabled :=false;
if self.Image2.Top +self.Image2.Height>=self.Height then self.Timer1.Enabled :=false;
//向右下角运动
self.Image2.Top :=self.Image2.Top +1;
self.Image2.Left :=self.Image2.Left +1;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
self.DoubleBuffered:=True;//防止屏幕闪烁
end;

end.



------解决方案--------------------
抛砖引玉吧!!

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
Timer1: TTimer;
Button1: TButton;
Button2: TButton;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
X1,Y1:integer;

implementation

{$R *.dfm}


procedure TForm1.Timer1Timer(Sender: TObject);
begin
if self.Image2.Left+1>=X1 then self.Image2.Left:=x1 else self.Image2.Left :=self.Image2.Left +1;
if self.Image2.Top+1>=Y1 then self.Image2.Top:=Y1 else self.Image2.Top :=self.Image2.Top +1;
if (self.Image2.Left=X1) and (self.Image2.Left=X1) then self.Timer1.Enabled :=false;//如果移动到位则停止
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
self.DoubleBuffered:=True;
X1:=self.Width;
Y1:=self.Height;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button=mbRight then begin //如果是右键则停止定义
self.Button1.Enabled :=true;
self.Button2.Enabled :=true;
end;
if (button=mbLeft)and (not self.Button1.Enabled ) then begin//如果是左键并且是定义状态则记录当前位置
X1:=x;
Y1:=Y;
messagebox(self.Handle,'轨迹定义完成!','系统提示',$00000040);
self.Button1.Enabled :=true;