AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TEdit in Klasse ?

Ein Thema von richard_boderich · begonnen am 7. Mai 2005 · letzter Beitrag vom 10. Mai 2005
 
Benutzerbild von richard_boderich
richard_boderich

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

Re: TEdit in Klasse ?

  Alt 9. Mai 2005, 12:30
So Jungs,


@TStringlist, oh man jetz verwirst du mich wieder. Wozu den eine setprocedure, ich kann auf Mapx, MapY doch schon schreibend zugreifen, so habe ich sie doch in der Klasse deklariert? oder ist das nicht so?


habe jetz die Komponente etwas umgestaltet, Einheitenabhängikeit im Constructor hinzugefügt, und
ein Timage auf dem Form eingefügt, das die Karte als Jpeg beinhaltet. Dies Sache mit den Einheiten
funktioniert gut, aber ich bekomme ja die Mauscoordinaten jetz nicht mehr im Form.onmousedown sondern
im Timage1.onmousedown. Das klappt auch, nur zeichnet er mein object relativ zum Form1.left / Form1.top und
nicht zu Image1.Left / image1.top. muss ich da den owner veraendern?

PS: das Image ist größer als das Form, und das soll auch so bleiben

So long,

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;
    Image1: TImage;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);

  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; Einheitentyp: String); reintroduce; virtual;
       { 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; Einheitentyp:String);
begin
  //inherited;
    Image := TImage.Create(self); // So muss das heißen
    Image.Parent := TWinControl(owner);
    if Einheitentyp = 'Panzerthen Image.Picture.loadfromfile('marker_fadenkreuz.gif');
    if Einheitentyp = 'testthen Image.Picture.loadfromfile('unbenannt-3.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.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  MapObject:=TMapObject.Create(self,X,Y,'test'); //object erstellen
  Liste.add(MapObject);
  Label1.caption:=inttostr(Liste.count);
  Label2.Caption:=inttostr(x)+' , '+inttostr(y);
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
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz