"Rozwijalne właściwości komponentu" (?!)

0

Krótko: Piszę komponent. Chciałbym, żeby w object inspectorze były takie "rozwijalne" właściwości (tak jak np. Font, Anchors itp.). Próbowałem stworzyć rekord, fcos: TRekord i property cos: TRekord read fcos write fcos, ale to jest źle :/ Hilfe!

0

W większości przypadków rozwijalne włąsciwości są zadeklarowane jako klasa lub jako "set of" np.

TBorderIcon = (biSystemMenu, biMinimize, biMaximize, biHelp);
  TBorderIcons = set of TBorderIcon;

(przy takiej deklaracji każdy element zbioru będzie miał w Object Inspectorze wartośc True lub False)

Polecam przeglądnięcie kodu źródłowego komponentów z tego typu własciwościami - jeżeli masz Delphi w wersji Professional albo Enterprise - masz też kody źródłowe wiekszości komponentow VCL.

0

Ajć, chyba źle sprecyzowałem swoje pytanie... Chodzi mi nie o coś jak "combobox" tylko o takie rozwijanie, jak właściwości +[plusik] mają... :P Już teraz wiadomo? Heh, przepraszam, ale jakoś ciężko mi się wysłowić :/

0

Tego typu własności są pochodnymi TPersistent... To wygląda jakoś tak:

type
  TLinkTextAttributes = class(TPersistent)
  private
    FColor: TColor;
    FStyle: TFontStyles;
    FOnChange: TNotifyEvent;
    procedure SetColor(Value: TColor);
    procedure SetStyle(Value: TFontStyles);
    procedure DoChange;
  public
    procedure Assign(Source: TPersistent); override;
  published
    property Color: TColor read FColor write SetColor;
    property Style: TFontStyles read FStyle write SetStyle;
    property OnChange: TNotifyEvent read FOnChange write FOnChange;
  end;


  ...
    property FontActive: TLinkTextAttributes read FFontActive write SetFontActive;
    property FontUnactive: TLinkTextAttributes read FFontUnactive write SetFontUnactive;
  ...

Odpowiednio wszystko oprogramuj, lub pisz o więcej kodu, jak nie jesteś w stanie z tego wyciągnąć czegoś dla siebie...

0

Hmm... A do czego są Artykuły?? W artykule pana Adama Boducha na temat pisania własnych komponentów wszystkie te bajerki są opisane...

0

Kurcze, ja jestem tępy prawdopodobnie i mam z myśleniem problemy :/ Fakt, artykuł Adama (respect) w porządku, ale tam jest set a to nie rozwiązuje mojego problemu, bo ja bym chciał takie właśnie "drzewko" (nareszcie znalazłem słowo, które dobrze opisuje moją "zachciankę"! ;]), ale nie na secie bo wtedy mi tylko true i false zostają, a potrzebuję różnych przeróźniastych pól... Próbowałem z rekordem, z klasą już nie wiem... A może po prostu jestem zbyt głupi na takie rzeczy i lepiej, żebym dał sobie spokój z pisaniem komponentów...
P.S. Wpisałem w wyszukiwarce "własne komponenty" a dziś jeszcze na inne sposoby tę frazę i nie otrzymałem żadnych wyników, chociaż artykuł nazywa się właśnie "Własne komponenty"...:P

0

A co Vogel napisał? Dokładnie to, czego potrzebujesz. Zawsze możesz wśród ściągniętych z netu komponentów znaleźć taki który to ma i przeczytać źródła....

0

Dobra, przepraszam, Bóg Wam wszystkim Zapłać. Ślepne już powoli i dlatego mi nie wychodziło (za dużo siedze przy Delphi - hehe). Dzięki wielkie!

1 użytkowników online, w tym zalogowanych: 0, gości: 1