Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Bildauswahl im Objektinspektor (https://www.delphipraxis.net/161389-bildauswahl-im-objektinspektor.html)

Andreas L. 1. Jul 2011 10:37

Bildauswahl im Objektinspektor
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich habe bei einer abgeleiteten Komponente die Eigenschaften ImageIndex (Integer bzw. TImageIndex) und Images (TCustomImageList) eingeführt.

Was muss ich machen damit im Objekt-Inspektor bei ImageIndex eine DropDown-Liste mit den Bildern aus der ImageList angezeigt wird?

Ich habe bei TToolButton und TToolBar in die Source geschaut, aber leider nicht die entsprechende Stelle gefunden.

So sieht es bei TToolButton aus:
Anhang 34542

uligerhardt 1. Jul 2011 12:50

AW: Bildauswahl im Objektinspektor
 
Ich vermute, es reicht, wenn die Property den Typ TImageIndex hat - deswegen wurde der Typ ja eingefüher, statt einfach direkt Integer zu verwenden. Vielleich hast du deine Komponente nicht neu installiert, bevor du dir die Property im OI angeschaut hast?

HTH,
Uli.

Andreas L. 1. Jul 2011 13:23

AW: Bildauswahl im Objektinspektor
 
Hab' die Komponente jetzt mehrmals neu erzeugt und installiert. Es wird zwar ein DropDown-Feld angezeigt, aber es stehen keine Werte zur Auswahl. Ich kann lediglich einen Index tippen. :(

Glaube aber nicht das es reicht einfach TImageIndex zu verwenden, irgendwie muss die IDE ja auch wissen mit welcher ImageList sie die ImageIndex-Eigenschaft verbinden soll.

EDIT: Das hier ist ein Auszug aus TToolButton.
Delphi-Quellcode:
   property ImageIndex: TImageIndex read FImageIndex write SetImageIndex stored IsImageIndexStored default -1;

procedure TToolButton.SetImageIndex(Value: TImageIndex);
begin
  if FImageIndex <> Value then
  begin
    FImageIndex := Value;
    if FToolBar <> nil then
    begin
      RefreshControl;
      FToolBar.Perform(TB_CHANGEBITMAP, Index, Longint(Value));
      if FToolBar.Transparent or FToolBar.Flat then Invalidate;
      if not (csLoading in ComponentState) and (Style = tbsTextButton) then
        FToolBar.RecreateButtons;
    end;
  end;
end;

function TToolButton.IsImageIndexStored: Boolean;
begin
  Result := (ActionLink = nil) or not TToolButtonActionLink(ActionLink).IsImageIndexLinked;
end;

jaenicke 1. Jul 2011 13:49

AW: Bildauswahl im Objektinspektor
 
Dafür kannst du einen entsprechenden Property Editor erstellen wie du hier z.B. siehst:
http://www.delphipraxis.net/6234-pro...-string.html#3


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz