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 !