Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Controlname ausgeben
Nano-Ware - Mo 03.05.10 16:43
Titel: Controlname ausgeben
Hey ;D,
wenn ich ein Control habe ( in dem Fall 2 Buttons ) und verweise beide auf die selbe Procedure und will nun in einem Label anzeigen, ob von Button1 oder von Button2 gesendet worden ist. Ich möchte aber nicht "If Sender = ..." denn das werden recht viele Buttons ;D Also sozusagen so:
Label1.Caption := DIE_FUNKTION(Sender);
Martok - Mo 03.05.10 16:47
Recht einfach, sogar ohne FUNKTION ;)
Den Button bekommst du, indem du Sender in TButton castest. Und jedes Control weiß ja, wie es heißt:
Delphi-Quelltext
1:
| Label42.Caption:= (Sender as TButton).Name; |
So kommst du auch an alle anderen Eigenschaften von TButton ran.
Nano-Ware - Mo 03.05.10 16:52
OMG da hät ich auch selbst drauf kommen können^^ danke ;D
EDIT:// Es gibt doch noch ein Problem :
Ich habe auf meiner Form ca. 20-30 Textboxen. Ihr Name beginnt mit "sv_" wie kann ich denn jetzt einen nach der anderen durchgehen? Und den vollständigen Namen anzeigen?
Martok - Mo 03.05.10 16:58
;)
Kleiner Hinweis vielleicht noch, ist mir nach dem Absenden noch eingefallen: falls es sein kann, dass das Ereignis nicht nur von Buttons aufgerufen wird, sollte man noch testen, ob denn der Sender überhaupt ein Button ist:
Delphi-Quelltext
1: 2:
| if Sender is TButton then Label42.Caption:= (Sender as TButton).Name; |
Der
as-Operator macht das zwar intern, wirft dann aber eben eine Exception, wenns nicht passt.
Nano-Ware hat folgendes geschrieben : |
Ich habe auf meiner Form ca. 20-30 Textboxen. Ihr Name beginnt mit "sv_" wie kann ich denn jetzt einen nach der anderen durchgehen? Und den vollständigen Namen anzeigen? |
FindComponent
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!