Einzelnen Beitrag anzeigen

mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#1

VirtualStringTree >-Objektinspektor

  Alt 28. Okt 2006, 13:55
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 !
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat