eingabe felder eines dialoges als array
-
hallo,
ich hab folgendes problem ...
ich möchte die eingabefelder eines dialogfeldes in schleife mit integer werten füllen ... ungefähr so ...
for (i=1;i=13;i++) dlg.eingabefeld[i]= 12345;geht das überhaupt und wwenn ja wie ...
danke schon mal im vorraus ...
mfg
-
Das geht schon, du musst dann nur die die eingabe Felder zur Laufzeit
mit Create erstellen, oder du machst eine liste mit Pointern die auf die
eingabefelder zeigen, und weisst dann bei Programmstart der Liste die
einzelnen Eingabefelder zu.Aber wozu brauchst du das überhaupt ?
Der Aufwand übersteigt hier imho deutlich den Nutzen...Devil
-
@devil81
Der Aufwand übersteigt hier imho deutlich den Nutzen...
Nur zum Teil. Wenn, dann sollten die IDs der Eingabefelder hintereinander liegen, so dass man die Zeigerliste auch per Schleife erstellen kann. Damit braucht man nur 1 Schleife für die Initialisierung und kann dadurch massig Code sparen.
Allerdings sollte man dafür schon mind. 5 Eingabefelder im Dialog haben.
-
erstmal danke ...
nur weiss ich leider immer noch nicht wie ich das bewerkstelligen soll ...
hat jemand evtl. ein bsp.
-
Deine DialogItem-ID's sind nix weiter als DEFINE's...
Also ist z. B. IDC_EDIT1 = 100, IDC_EDIT2 = 101 usw.
Du kannst also anstattGetDlgItem(hWnd, IDC_EDIT1);auch
GetDlgItem(hWnd, 100);benutzen!
Also kannst Du in einer for()-Schleife
char Text[5][MAX_PATH]; for(int i=100; i<105; i++) { SetDlgItemText(hDlg, i, Text[i-100]); }alle Deine DialogItems mit Text versehen!
Das funktioniert natürlich (wie bereits oben geschrieben) nur mit aufeinanderfolgenden DialogID's!
[ Dieser Beitrag wurde am 06.05.2003 um 20:43 Uhr von Hepi editiert. ]