Ja ! Denke wir sind auf den richtigen weg..
Ist manchmal schwierig schriftlich etwas rüberzubringen
Ja beim Initialisieren der MainForm .. werden die Komponenten registriert.
Delphi-Quellcode:
initialization
ADate := Now;
TJvInspectorAlignItem.RegisterAsDefaultItem;
TJvInspectorAnchorsItem.RegisterAsDefaultItem;
TJvInspectorColorItem.RegisterAsDefaultItem;
TJvInspectorTImageIndexItem.RegisterAsDefaultItem;
RegisterClass(TImage);
RegisterClass(TLabel);
Erst mal nur die zwei..
Sobald ich auf das Panel klicke bekommt in
procedure TMainForm.JvDesignPanelGetAddClass(Sender: TObject; var ioClass: String);
ioClass den Wert TLabel als string übergeben ist auch richtig so.
Danach addiere ich das neue Objekt in der gleichen funktion
Delphi-Quellcode:
if DesignClass <> '' then
AddControls(TControl(Sender), DesignClass);
Delphi-Quellcode:
procedure TMainForm.AddControls(aCtrl: TControl; DisplayName: string);
var
InspCat: TJvInspectorCustomCategoryItem;
begin
InspCat := TJvInspectorCustomCategoryItem.Create(JvInspector1.Root, nil);
InspCat.DisplayName := DisplayName;
JvInspector1.Root.SortKind := iskNone;
AddCtrl(InspCat, aCtrl);
InspCat.Expanded := True;
end;
Delphi-Quellcode:
procedure TMainForm.AddCtrl(const Parent: TJvCustomInspectorItem; const Ctrl: TControl);
var
InspCat: TJvInspectorCustomCategoryItem;
begin
InspCat := TJvInspectorCustomCategoryItem.Create(Parent, nil);
InspCat.DisplayName := Ctrl.Name + ': ' + Ctrl.ClassName;
TJvInspectorPropData.New(InspCat, Ctrl);
end;
Und hier ist das problem wie schon gesagt ..
Er addiert zwar das richtige Caption TLabel addiert aber als Parent TjvDesignSurface
muss mal schaun ob ich mit den Tips von dir da was machen kann.
gruss Emil