Thema: Delphi TEdit in Klasse ?

Einzelnen Beitrag anzeigen

Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#26

Re: TEdit in Klasse ?

  Alt 9. Mai 2005, 10:36
Hallo TStringlist!

Erstmal hab vielen Dank für die vielen Hinweise und das du mich so unterstützt.
Ich weis es sehr zu schätzten das du die Zeit opfers und dich jedesmal durch meinen Quelltext wühlst.

Das mit der Liste stimmt, hab ich gestern selber noch rausgefunden, aber es ist gut das du mich
daraufhin weist das ich sie im Form.Destroy wieder freigeben muss. *uups* Ich habe das Project jetzt
mal so überarbeitet wie ich es mir vostelle. Habe auch Formatierung und Großschreibung hinzugefügt
(der Übersichtlichkeit wegen ) Leider bekomme ich die Übergabe meiner Constructor Parameter nicht
hin.

In der OH steht:

Zitat:
Die Deklaration gleicht einer normalen Prozedurdeklaration, beginnt aber mit dem Wort constructor.
Auch unter "Aufrufkonventionen von Constructoren" schweigt sich die OH aus , wie ich dort Parameter übergebe

Ansonsten hab ich alles brav so gemacht wie du es mir empfohlen hast.

Bis denne,

Richard

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, jpeg, XPMan, StdCtrls, ComCtrls, Menus, ToolWin,
  Buttons, JvHtControls, JvGIF, ImgList, Contnrs;

type
  TForm1 = class(TForm)
    XPManifest1: TXPManifest;
    Label1: TLabel;
    Label2: TLabel;
    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
  published
    property Einheitentyp :String read Typ write Typ;
    property MapX :Integer read x write x;
    property MapY :Integer read y write y;
  // procedure zeichnen(Mapx,Mapy:integer);
  public
    constructor Create(Owner: TComponent; MapX: Integer; MapY: Integer); override;
       { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  mapobject:tmapobject;
  i,index:integer;
  Liste:TObjectList;
  implementation

{$R *.dfm}

constructor TMapObject.Create(Owner: TComponent; MapX: Integer; MapY: Integer);
begin
  inherited;
    Image := TImage.Create(self); // So muss das heißen
    Image.Parent := TWinControl(owner);
    Image.Picture.loadfromfile('marker_fadenkreuz.gif');
    Image.Transparent:=true;
    Image.Left:=mapx;
    Image.Top:=mapy;
      Edit := TEdit.Create(self);
      Edit.Parent := TWinControl(owner);
      Edit.Left:=MapX+50; // Positionberechnung
      Edit.Top:=mapy+25; //
      Edit.SetFocus;
    Einheitenname := TStaticText.Create(self);
    Einheitenname.Parent := TWinControl(owner);
end;


procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  MapObject:=TMapObject.Create(self,X,Y); //object erstellen
  Liste.add(MapObject);
  Label1.caption:=inttostr(Liste.count);
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  Liste := TObjectList.create;
end;


procedure TForm1.FormDestroy(Sender: TObject);
begin
Liste.free;
end;

end.
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat