Hallo
DP'ler,
ich hänge jetzt schon seit ca. 3 Tagen an einem Problem, hab auch schon die Suche angestrengt und nix brauchbares gefunden.
Also ich habe mir eine PropertyKlasse erstellt:
Delphi-Quellcode:
{...}
type
TBackGround = class(TPersistent)
private
FBackgroundAlignment: TBackgroundAlignment;
FBeginColor: TColor;
FEndColor: TColor;
procedure SetBackgroundAlignment(Value: TBackgroundAlignment);
procedure SetBeginColor(Value: TColor);
procedure SetEndColor(Value: TColor);
published
property BackgroundAlignment: TBackgroundAlignment read FBackgroundAlignment
write SetBackgroundAlignment default baStandard;
property BeginColor: TColor read FBeginColor write SetBeginColor default clBtnFace;
property EndColor: TColor read FEndColor write SetEndColor default clBtnFace;
end;
{...}
und habe eine Komponente von der Klasse TPanel abgeleitet:
Delphi-Quellcode:
unit MyPanel;
interface
uses
ExtCtrls, Controls, Graphics, Windows, Classes;
type
TMyPanel =
class(TPanel)
private
FBackGround: TBackGround;
procedure SetBackGround(NewBackGround: TBackGround);
published
property Background: TBackGround
read FBackGround
write SetBackGround;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('
Meine Komponenten', [TMyPanel]);
end;
{ TMyPanel }
procedure TMyPanel.SetBackGround(NewBackGround: TBackGround);
begin
FBackGround.Assign(NewBackGround);
Invalidate;
end;
...so.
Und jetzt meine Frage, wie bekomme ich es hin, dass der Objectinspector mir meine PropertyKlasse als kleines DropDown Menü anzeigt? (Wie Font oder Margins)
Er zeigt mir nur meine Property "Background" mit "(TBackGround)" und ein [+] an, aber wenn ich auf das [+] klicke, wird es zu [-] aber er klappt es nicht auf.
Danke schonmal!
Beste Grüße
Ninow