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/)
-   -   Caption von Button und Caption von Action (https://www.delphipraxis.net/185672-caption-von-button-und-caption-von-action.html)

idefix2 29. Jun 2015 06:27

Caption von Button und Caption von Action
 
Ich habe auf einem Panel einige Buttons. Jedem Button ist eine Action zugeordnet.
Mit einer Ausnahme übernimmt jeder Button seine Caption von der Action, die ihm zugeordnet ist.
Bei einem Button ist das aber nicht der Fall. Woran könnte das liegen (ich kann bei dem Button keinen Unterschied zu den anderen erkennen, der das bewirkt)?

frankyboy1974 29. Jun 2015 08:00

AW: Caption von Button und Caption von Action
 
Hallo,

als erstes wollte ich antworten :

:glaskugel: 42

Aber ich habe versucht dein Problem nachzustellen. Hast du vielleicht die Caption des Buttons, nach dem du die Action zugewiesen hast geändert (überschrieben). Wenn du also die Caption des Buttons eigenhändig geändert hast und änders dann die Caption der Action, wird die Änderung nicht für den Button neu übernommen. Du müssten dann die Action dem Button neu zuweisen, dann sollte auch die Caption wieder übereinstimmen.

mfg

Frank

idefix2 29. Jun 2015 08:35

AW: Caption von Button und Caption von Action
 
Ich mache mit dem Button nichts (wissentlich) anderes als mit den anderen Buttons.
Ich habe das Projekt extra nach dem Buttonnamen durchsucht, der Caption wird nirgends etwas zugewiesen.

Auf das Problem draufgekommen bin ich nur durch Zufall, ich habe allen Action-Captions einen Accelerator verpasst, und der Button war der einzige, bei dem die Änderung nicht angekommen ist. Es war schon in der IDE zu erkennen, dass er im Gegensatz zu den anderen Buttons keinen Accelerator bekommen hat.
Es ist nicht weiter schlimm, ich habe einfach die Caption dieses Buttons direkt geändert, aber es hätte mich interessiert, was an so einem Verhalten schuld sein kann.

Bei anderen Buttons kann ich die Caption in der IDE gar nicht manuell verändern, egal was ich eingebe, haben sie sofort wieder die Caption der zugeordneten Action.

edit: Stimmt nicht, jetzt lassen sich die Button-Captions doch manuell ändern. Warum das irgendwann nicht gegangen ist (oder ich zumindest geglaubt habe, dass das nicht geht), ist mir auch nicht klar. Aber das könnte erklären, warum die Änderung der Action-Caption bei dem Button nichts bewirkt hat. Ich kann nicht ausschliesen, dass ich vielleicht irgendwann bei dem Button etwas geändert und dann wieder zurückgeändert habe. Ich habe mir eingebildet, dass das gar nicht möglich ist.

Daniel 29. Jun 2015 08:54

AW: Caption von Button und Caption von Action
 
Schaue Dir mal die DFM-Datei und dort dann speziell den Button an. Vermutlich wird er dort eine Eigenschaft "Caption" haben, ggf. mit einem Leerstring als Wert. Wenn Du diese Zeile finden konntest und löschst, dann sollte der Button die Eigenschaft der Action wieder erwartungsgemäß übernehmen.

Uwe Raabe 29. Jun 2015 09:13

AW: Caption von Button und Caption von Action
 
Der Effekt tritt immer dann auf, wenn die Caption des Buttons sich von der Caption der Action unterscheidet.

Beim
Delphi-Quellcode:
TAction.SetCaption
werden zunächst alle ActionLinks aktualisiert. Für einen
Delphi-Quellcode:
TButton
ist das (für die Relevanz von SetCaption) ein
Delphi-Quellcode:
TControlActionLink
. Dort wird die Button-Caption nur dann verändert, wenn
Delphi-Quellcode:
IsCaptionLinked
true zurückliefert. Das tut es aber u.A. nur dann, wenn die aktuelle Button-Caption gleich der (noch unveränderten) Action-Caption ist.

Das Setzen des Action-Properties eines Buttons ändert immer die Caption, außer beim Laden aus der DFM - dann nur wenn die Button-Caption leer ist oder dem Namen des Buttons entspricht.

idefix2 29. Jun 2015 09:17

AW: Caption von Button und Caption von Action
 
Danke für diese ausführliche Erklärung der Zusammenhänge


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:22 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