![]() |
Action in eigener Komponente
Hallo zusammen,
ich habe ein kleines Problem. Ich bin dabei eine eigene Komponente zu erstellen (eine Art Schalter mit LED). Dieser Komponente will ich auch Actions zuweisen können. Das funktioniert auch ohne größere Probleme. Die Aktion wird beim anclicken der Komponente ausgeführt. Nun möchte ich aber, daß, wenn sich zur Laufzeit an der Action etwas ändert (Caption, Checked, Enabled), diese Änderung auch in der zugewiesenen Komponente sichtbar werden. Wie kriege ich das hin, daß die Komponente merkt, daß sich in der Action etwas geändert hat. Ich habe schon gesucht und sogar 2 ähnliche Fragen (bzw. gleiche) gefunden, dort ist aber keine Antwort gegeben worden. Ich wollte dieses Problem deswegen noch einmal in Erinnerung bringen. bis dene und danke im Voraus mtm ![]() |
AW: Action in eigener Komponente
Der einfachste weg wäre die Aktion in den Settern der Eigenschaften zu setzen.
|
AW: Action in eigener Komponente
Schon mal in den Quelltext von
Delphi-Quellcode:
geschaut?
TButton
Da würde ich nachsehen, denn der macht genau das was du suchst. |
AW: Action in eigener Komponente
Die Verbindung zwischen deinem Control und der Action geschieht über einen TBasicActionLink bzw. einen Nachfahren davon (z.B. TControlActionLink). Je nachdem, wie dein Control reagieren soll kannst du entweder eine vorhandenen Link-Klassen nehmen oder musst dir selbst eine ableiten, die dann dein Control entsprechend aktiviert.
Am besten schaust du dir mal den Code von TControl.SetAction und TButtonControl.GetActionLinkClass und die Klasse TButtonActionLink an, damit solltest du schon weiter kommen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz