OnGetImageIndex(..) anstoßen



  • Hallo zusammen,

    ich verwende ein TTabControl. Ich habe OnGetImageIndex(..) überschrieben und kann dort bestimmen welches meiner Images ein meiner Imagelist auf dem jeweiligen Tab dargestellt wird.
    Aber irgendwie... wie stoße ich diese Methode zur Laufzeit an? Also sie wird automatisch am Anfang einmal ausgeführt.
    Aber ich möchte ja eben die Images laufend ändern.

    TTabControl ->Repaint() und ->Invalidate() helfen nicht. Was löst denn bitte dieses Event aus?

    Beste Grüße,
    Oliver



  • Eine Möglichkeit wäre das Ableiten von TTabControl und Aufruf der protected Funktion UpdateTabImages: http://docwiki.embarcadero.com/VCL/en/ComCtrls.TCustomTabControl.UpdateTabImages

    Evtl. müßtest du vorher noch GetImageIndex aufrufen: http://docwiki.embarcadero.com/VCL/en/ComCtrls.TCustomTabControl.GetImageIndex



  • Ok, damit kommen wir zu der Sache, um die ich mich schon länger drücke.

    Das Überschreiben von VCL gui Komponenten.

    Ich arbeite mit dem Embarcadero C++ Builder 2010.
    Ich habe noch keine Möglichkeit gefunden z.B. einen TButton per Designer zu platzieren und ihn anschließend durch z.B. MyTButton (überschrieben zu ersetzen).
    So in der Art funktioniert es z.B. beim QTCreator für QT(ist ja auch c++)

    Ich möchte nur ungern auf die Formatierung und Platzierung mit dem Designer verzichten.

    Gibt es da Möglichkeiten, Tricks oder sonstwas um diese Problematik zu lösen? Evtl. sehe ich einfach auch nur nicht die Option.

    Beste Grüße



  • Ich muss mich selbst nochmal verbessern (Ich glaube ich sollte mich mal registrieren um meine eigenen Einträge editieren zu können^^).

    Also es gibt ja sogar einen eigenen Wizzard zum erstellen von VCL Komponenten. Mir fehlt dann nur irgendwie der Schritt, dass man die erstellte Klasse im Designer auswählen kann. Der Wizzard fragt sogar explizit danach... aber... ja 😕



  • Done.

    Packages olé

    Vielen Dank


Anmelden zum Antworten