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 Button ohne Text (https://www.delphipraxis.net/215331-button-ohne-text.html)

TurboMagic 14. Jun 2024 10:37

Button ohne Text
 
Hallo,

irgendwie stelle ich mich wohl zu blöde an, aber ich hätte gerne einen VCL Button
mit nur einem Icon drauf aber ohne Text. Das ganze in D12.1.

Dem Button ist eine Action zugeordnet die Text hat, was aber auch so sein soll da diese
auch im Hauptmenü benutzt wird.

Wenn ich die Caption des TButton oder TSpeedButton m Designer entferne ist dort auch kein
Text mehr zu sehen, nur noch das Icon. Zur Laufzeit jedoch schon.

=> was mache ich falsch?

haentschman 14. Jun 2024 10:46

AW: Button ohne Text
 
Die Action überschreibt auch den Text des Buttons. Entweder alle kein Text oder alle mit Text...:wink:

Andreas13 14. Jun 2024 10:49

AW: Button ohne Text
 
Würde es nicht reichen, lediglich ein einziges Leerzeichen als Text zu verwenden?:gruebel:

TurboMagic 14. Jun 2024 10:51

AW: Button ohne Text
 
Zitat:

Zitat von Andreas13 (Beitrag 1537740)
Würde es nicht reichen, lediglich ein einziges Leerzeichen als Text zu verwenden?:gruebel:

Nö. Wer will denn schon Hauptmenüpunkte AUfrufen die als Namen nur ein Leerzeichen haben?
Woher soll man da wissen, was hinter dem Menüpunkt ist? (ok, das Icon wie auf dem Button aber trotzdem keine gute Idee...)

Uwe Raabe 14. Jun 2024 11:19

AW: Button ohne Text
 
Gemeint ist, der Button.Caption ein Leerzeichen zuzuweisen nachdem die Action zur Designzeit zugewiesen wurde.

Alternativ kannst du die Button.Caption auch im FormCreate auf einen Leerstring setzen.

TurboMagic 14. Jun 2024 11:59

AW: Button ohne Text
 
Ach so, zur Laufzeit!
Naja, das probiere ich gleich mal aus.
Hätte es halt schön gefunden wenn man dafür nicht auch noch eine Codezeile bräuchte...
Aber wenn das funktioniert, dann gut.

Nachtrag: ja funktiojiert wenn man die Caption zur Laufzeit auf '' setzt.

Uwe Raabe 14. Jun 2024 12:53

AW: Button ohne Text
 
Um die Interna dazu mal etwas zu beleuchten:

Beim Zuweisen einer Action an den Button wird die Caption des Buttons mit der Caption der Action überschrieben. Das erfolgt z.B. zur Designzeit im ObjectInspector und zur Laufzeit beim Auflösen des Action Properties während des Laden des Forms. Natürlich auch bei Zuweisen der Action im Code.

Ändert sich später die Caption der Action, wird diese Änderung auf den Button übertragen, wenn die aktuelle Caption des Button immer noch der bisherigen Caption der Action entspricht. Andernfalls bleibt die Caption des Button erhalten.

Nun kann es allerdings passieren, dass die Caption der Action irgendwann mal auf den Wert geändert wird, der aktuell in der Caption des Button steht. Ab dann wird eben auch jede folgende Caption der Action in den Button übernommen.


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