unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, jpeg, XPMan, StdCtrls, ComCtrls, Menus, ToolWin,
Buttons, ImgList, Contnrs;
type
TForm1 =
class(TForm)
Label1: TLabel;
XPManifest1: TXPManifest;
Edit1: TEdit;
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
TMapObject =
class(TControl)
private
image: TImage;
// Für das entsprechende Einheitenbild besser vielleicht Imagelist, kann imagelist nur bmp ich brauch aber gif?
Edit: TEdit;
// Eingabefeld für Einheitenname
Einheitenname: TStaticText;
// Anzeige des Einheitennamens
X,Y: Integer;
// Position der Einheit auf Karte Y
Typ:
String;
// z.B. "Infantry", Image ist abhaengig vom Einheitentyp wo kann ich diese Abhaengigkeit berechnen oder festlegen z.B wenn Einheitentyp = 2 dann image.picture.'Panzer.bmp"
//draggen ermoeglichen und draggingstatus
procedure SetX(Value : integer);
procedure SetY(Value : integer);
procedure EditMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
published
property Einheitentyp :
String read Typ
write Typ;
property MapX :Integer
read X
write SetX;
property MapY :Integer
read Y
write SetY;
public
constructor Create(Owner: TComponent);
override;
{ Public-Deklarationen }
end;
var
Form1: TForm1;
mapobject:
array [1..10]
of tmapobject;
i,
index:integer;
Liste:TObjectList;
implementation
{$R *.dfm}
constructor TMapObject.Create(Owner: TComponent);
begin
inherited;
Image := TImage.Create(self);
// So muss das heißen
image.Parent := TWinControl(owner);
image.Picture.loadfromfile('
geld.bmp');
image.transparent:=true;
Edit := TEdit.Create(self);
Edit.Parent := TWinControl(owner);
edit.Left:=mapx+50;
edit.Top:=mapy+25;
edit.setfocus;
Einheitenname := TStaticText.Create(self);
Einheitenname.Parent := TWinControl(owner);
Edit.OnMouseDown := EditMouseDown;
end;
procedure TMapObject.SetX(Value : integer);
begin
Image.Left := Value;
Edit.Left := Value;
end;
procedure TMapObject.SetY(Value : integer);
begin
Image.Top := Value;
Edit.Top := Value;
end;
procedure TMapObject.EditMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
beep;
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
mapobject[i]:=Tmapobject.Create(self);
//object erstellen (lächerlich nur um
//einen eindeutigen onjectnamen zu bekommen ?!
mapobject[i].mapx:=x;
mapobject[i].mapy:=y;
Liste.Add(mapobject[i]);
label1.caption:=inttostr(Liste.count);
//tur kontrolle
inc(i);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Liste := TObjectList.Create;
//tobjectlist zuweisen
i:=1;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Liste.free;
end;
end.