Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#13

Re: Problem mit Object Inspector

  Alt 30. Aug 2008, 00:38
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
  Mit Zitat antworten Zitat