Variable Anzahl von Eingabefeldern erzeugen ???
-
Hallo zusammen,
ich habe folgendes Problem:Ich habe z.B. auf einer grafischen Benutzeroberfläche das Feld Eingabe. Wenn dort eine 5 eingegeben wird und ein "übernehmen Button" gedrückt wird, sollen 5 weitere Eingabefelder incl. einer Beschriftung generiert werden (feld1, feld2..../beschriftung feld1, feld2....). Ich habe absolut keine Ahnung wie ich das programmieren soll/kann. Wäre nett, wenn mir einer einen Tipp geben kann.
Viele Grüsse
SILK
-
Hallo !
So dein Problem denk ich mal löst folgender Code
case WM_COMMAND: if(LOWORD(wParam) == ID_BUTTON) { GetWindowText(hwndEingabeEdit,szBuffer,2); iAnzahl = atoi(szBuffer); if(iAnzahl > MAX) iAnzahl = MAX; for(i=0;i<iAnzahl;i++) { hwndEdit[i] = CreateWindow(TEXT("edit"),NULL, WS_CHILD | WS_VISIBLE | ES_LEFT | WS_BORDER, 0,sEditHoehe * (i+1), sEditBreite,sEditHoehe, hwnd,(HMENU)i,hInst,NULL); } } break;
Also zur Erklärung...:
Das ist wie du siehst die Nachrichtenbehandlungsroutine für ein Klick
auf die Schaltfläche. Hier wird das "hwndEingabeEdit" indem die Anzahl der zu erzeugenden Editelemente eingegeben wurde ausgelesen, in "szBuffer" gespeichert.
Nun wird "szBuffer" in eine Zahl umgewandelt und für die Zählschleife benutzt,
die halt deine Editelemente erstellt.MfG
DANNY
-
Für das Auslesen ist auch GetDlgItemInt ganz praktisch