![]() |
Caption von Button automatisch ändern?
Hallo Alle!
Ich habe eine Form mit 48 Buttons drauf. Die Beschriftung der Button muss wärend des Programmlaufs geändert werden. Die Daten der Beschriftungen sind in einer Datenbank verfügbar. Wie kann ich es anstellen alle Buttons auf einmal zu ändern - z.B. mit einer Schleife - , damit ich nicht jeden Button einzeln ändern muss.Nach dem Motto: Datenfeld 1 bis 48 = Button 1-48. |
AW: Caption von Button automatisch ändern?
Tausend mal gefragt,
Tausend mal nicht gesucht. Tausend und eine Frage Und es hat zoom gemacht.
Delphi-Quellcode:
FindComponent
|
AW: Caption von Button automatisch ändern?
Oder in einem Array/einer Liste die Buttons selbst verwalten. Da ja wahrscheinlich eine Schleife verwendet wird, um die Buttons zu beschriften, ist FindComponent da nicht die optimale Lösung, da es intern selbst über die Komponenten iteriert.
|
AW: Caption von Button automatisch ändern?
Eine weitere Option ist, jedem Button einen eindeutigen Wert in das Tag-Property zu schreiben. Dann kann in einer Schleife über Components iteriert werden. Ist die aktuelle Komponente ein TButton, dann kann das Tag-Property dazu verwendet werden, die entsprechende Caption aus der Datenbank zu holen. Was im Endeffekt die bessere Performance hat, hängt von diversen Umständen ab.
|
AW: Caption von Button automatisch ändern?
Zitat:
kannst du mal ein wenig konkreter werden. Wie meinst Du das mit den Tag-Property?Ich kann es mir im Moment nicht so vorstellen. |
AW: Caption von Button automatisch ändern?
Jede Komponente besitzt eine Tag-Property vom Typ integer. Diese steht zur freien Verfügung und hat keine weitere Bedeutung. Uwe meint, hier sollst Du nun eine eindeutige Zahl je Button reinschreiben, über die Du den Button identifizieren und somit beschriften kannst.
|
AW: Caption von Button automatisch ändern?
Zitat:
![]() > das Laden und Speichern nutzt z.B. diese Werte |
AW: Caption von Button automatisch ändern?
Alternativ wäre das auch mit einem Observer-Pattern zu lösen.
Eine weitere Alternative (kommt aber auf das Konzept an) wäre die Buttons mit jeweils einer TAction zu versehen. Die TActions werden ja über eine TActionList verwaltet und können daher sehr einfach angesprochen werden. Weiterhin könnten sich die TActions via OnUpdate-Event auch selber einstellen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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-2025 by Thomas Breitkreuz