Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi VirtualStringTree >-Objektinspektor (https://www.delphipraxis.net/79790-virtualstringtree-objektinspektor.html)

mimi 28. Okt 2006 12:55


VirtualStringTree >-Objektinspektor
 
Hallo,
ich möchte mir meinen eignen Objektinspektor bauen für ein grafik proramm.

ich habe das entsprechende beispiel gefunden und mir angeschaut doch leider verstehe ich da überhaupt nichts.

mein qullcode sieht jetzt so aus:
Delphi-Quellcode:

  pItem = ^TItem;
  TItem = record
    typ:String;
    value:String;
    Daten:TStringList;
  end;

procedure TForm1.Add(Name:String; Daten:TStringList);
var
  node,parent:PVirtualNode;
  i:integer;
  pDaten:pItem;
begin
  parent:=vt.AddChild(NIL);
  pdaten:=vt.GetNodeData(parent);

  pdaten.value:=GetToken(daten.Strings[0],'=',1);
  pdaten.typ:=GetToken(daten.Strings[0],'=',2);

  for i:=1 to Daten.Count-1 do begin
    node:=vt.AddChild(parent);
    pdaten:=vt.GetNodeData(node);

    pdaten.value:=GetToken(daten.Strings[i],'=',1);
    pdaten.typ:=GetToken(daten.Strings[i],'=',2);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  Daten:TStringlist;
begin
  Daten:=TStringlist.Create;
  Daten.add('Rechteck = TRechteck');
  Daten.add('Name = Caption');
  Daten.add('Position = Point');
  Daten.add('Size = Point');
  Daten.add('Brush = Brush');
  Daten.add('Pen = Pen');
  Daten.add('Visible = Boolean');
  vt.NodeDataSize:=SizeOf(TItem);
  Add('test1',Daten);
end;

procedure TForm1.vtGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
  Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
var
  Daten:pItem;
begin
  Daten:=vt.GetNodeData(node);
  CellText:=Daten.value;
end;
und jetzt ist es mein ziel soablt der user ein item anklick soll eine komponente erstellt werden so wie im echten Objektinspektor in delphi und dabei müste es egal sein was für eine komponente.
ich habe mri das so gedacht:
findet er typ: z.b. caption soll ein Tedit erzeugt werden
finder er aber dort ein Brush drin soll so ein fehld erzeugt werden wie in delphi mit ... aber auch unterpunkte die halt z.b brush gehören. ich hoffe das versteht ihr wie ich das meine.

problem ist jetzt ich weiß nicht wie ich eine komponente erzeugen kann an der angeben stelle also wo der user hingeklickt hat. das ist meine eigentliche frage.

vielen dank im vorraus !

mimi 28. Okt 2006 15:14

Re: VirtualStringTree >-Objektinspektor
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich habe mir das beispiel angeschaut und teilweise übernommen und habe alles sogemacht wie im beispiel allerdings sehe ich leider kein komponenten auf mein formula ich weiß einfach nicht mehr weiter
im anhang ist der qullcode ich hoffe sehr das mir einer von euch sagen kann was ich FALSCH gemacht habe... seit stunden suche ich bereits nach einer lösung für das problem und bin inzwischen am verzeifeln :(

mimi 28. Okt 2006 17:30

Re: VirtualStringTree >-Objektinspektor
 
habs hinbekommen ich hatte legendlich vergessen 2 ereignisee zu belegen.
jetzt habe ich das problem das die kompoenten a auf der falschen seite erzeugt werden
b nicht immer da sind wenn ich klicke muss erst doppelt klicken !


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 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