Hallo
Habe ein problem beim addieren von meinen Controls.
Wenn ich ein Image oder label auf die Form lege wie komme ich dann an das aufgesetzte control ?
So sieht es bisher aus.
Wenn ich auf den Button für den Label oder das Image klicke springe ich in diese Funktion
Delphi-Quellcode:
procedure TMainForm.PaletteStdButtonClick(Sender: TObject);
const
cClasses: array[0..2] of string = ( '', 'TImage', 'TLabel');
begin
StickyClass := (GetKeyState(VK_SHIFT) < 0);
DesignClass := cClasses[TControl(Sender).Tag];
end;
Klicke ich nun auf das Designer Window dann hole ich mir die Class über
Delphi-Quellcode:
procedure TMainForm.JvDesignPanelGetAddClass(Sender: TObject; var ioClass: String);
begin
ioClass := DesignClass;
if DesignClass <> '' then
AddControls(TControl(Sender), DesignClass);
if not StickyClass then
begin
DesignClass := '';
end;
end;
Ist DesignClass mehr als nichts versuche ich das Control dem Object inspector hinzu zu fügen
AddControls(TControl(Sender), DesignClass);
Delphi-Quellcode:
procedure TMainForm.AddControls(NewObject: TControl; DisplayName: string);
var
InspCat: TJvInspectorCustomCategoryItem;
begin
InspCat := TJvInspectorCustomCategoryItem.Create(JvInspector1.Root, nil);
InspCat.DisplayName := DisplayName;
InspCat.SortKind := iskNone;
AddCtrl(InspCat, NewObject);
InspCat.Expanded := True;
end;
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;
Das problem ist nun das er mir nicht die eigenschaften vom Image1 bzw.. Label1 addiert
sondern logischerweise(weil der Sender) das TJvDesignSurface ...
Habe im moment keine idee wo ich die beiden Controls zum TreeView bzw.. den Object Inspector hinzufügen soll.
Wäre schön wenn jemand helfen könnte.
Im Anhang ein Bild. (ala Widget von David)
gruss Emil