Auf Formularelemente zugreifen
-
Hi,
ich habe mehrere Formulare in meinem Projekt.
Jetzt würde ich gerne eine zentrale Methode in meinem Hauptformular schreiben, welche mir alle Textfelder (Edit's) eines bestimmten Formulars unsichtbar macht.
Den Name des Formulars würde ich der Methode als String übergeben.
Ist dies machbar ???
Z.B.
void __fastcall TfrmHaupt::LoescheEditsAusForm(String FormName) { ... }Gruß
Psi
-
Ja
-
Hallo
siehe Builder-FAQ, Abschnitt Forms.
Und daran denken, das auch Controls nur Variablen sind.bis bald
akari
-
mach dir einfach nen Array mit den ganzen Edits zu machen und dann kannst du super damit arbeiten, mach ich auch so.
schaut ungefähr so aus:
TEdit* Edt[i]={iElemente jeweils mit Beistrich getrennt};
-
Ok, danke...
Das hat mir schon geholfen. Ich übergebe jetzt das Form-Objekt selbst, anstatt eines Strings.
Dann spare ich mir das umcasten.
Danke !!!
-
Tom7 schrieb:
mach dir einfach nen Array mit den ganzen Edits zu machen und dann kannst du super damit arbeiten, mach ich auch so.
schaut ungefähr so aus:
TEdit* Edt[i]={iElemente jeweils mit Beistrich getrennt};Gut gemeint, aber ich habe 20 Forms. Wäre etwas aufwändig. Es geht ja anders ...
Aber trotzdem Danke !!!
-
naja wie du meinst, ich nems ganz gern her bevor ich zB bei Buttons immer wieder ein Klick Ereignis drin hab und der Code unnötig lang wird. Aber das ist dir überlassen wie du's machst.
-
Würde es auch so machen, wenn es nicht so viele Edit-Felder wären.
-
PsiAgent schrieb:
Würde es auch so machen, wenn es nicht so viele Edit-Felder wären.
ja ist schon klar, dass es am Anfang mal viel Schreibarbeit ist, jedoch ist nachher vieles einfacher, ist zumindest meine Meinung.
-
Man kann auch das Formular durchgehen und alle Editfelder bearbeiten...
-
Christian211 schrieb:
Man kann auch das Formular durchgehen und alle Editfelder bearbeiten...
das is dann Geschmackssache und eine Frage wie viel Mehraufwand der Aufwand der einmaligen Definition der Felder ist.
-
Mach es so wie Christian sagt. Die Funktion dafür habe ich Dir doch schon hier gepostet:
http://www.c-plusplus.net/forum/viewtopic-var-p-is-839053-and-highlight-is-.html#839053Grüße Joe_M.
-
Eine weitere Möglichkeit wäre noch, die ganzen Edits auf ein Panel zu packen und dieses dann unsichtbar zu machen.