Editfeld abfragen
-
Hallo an Alle!
Ich bin ein absoluter Neuling in der Windows-Programmierung und habe am WE mich mal durch einige WinApi-Tutorials gearbeitet.
Dabei hab ich auch an allerlei Beispielen rumgebastelt.
Nun möchte ich aber einen eingegeben Text auf "Button"-Druck aus einem Editfeld auslesen und weiterverarbeiten(z.B. in einem anderen ChildWindow als Text anzeigen).
Dabei stoße ich allerding an meine Grenzen.
Kann mir da jemand einen Tip geben?!
-
Hallo mjac,
zum Auslesen gibts die Windows-Funktion GetDlgItemText (...) bzw. GetDlgItemInt (...). Die genaue Beschreibung dafür findest du z.B. unter www.msdn.microsoft.com. Den gelesenen Text kannst du dann mit SetDlgItemText (...) bzw. SetDlgItemInt (...) wieder in andere Controls schreiben. Der wichtigste Parameter bei all diesen Funktionen ist die ID deines Child-Controls; über die kannst du dann auf die Eigenschaften zugreifen.
HTH
-
Es gibt auch Leute, die Fenster selber erstellen mit CreateWindow(). Wenn du das so gemacht hast, dann kannst du die Funktion GetWindowText() benutzen oder dem Edit die Message WM_GETTEXT schicken:
// hEdit sei das Handle des Edits char text[256]; SendMessage(hEdit, WM_GETTEXT, 256, (LPARAM)text);
-
Erst einmal danke für Eure schnellen Antworten!
Habe es geschafft mit GetWindowText das Edit-Feld auszulesen,weiß aber noch nicht,wie ich diesen Text meinem ChildWindow zukommen lasse und dieses zwecks Aktualisierung neu erstellen kann?
-
Hab das mal so gemacht:
Hoffe kann Dir damit auf die schnelle weiterhelfen.
Habe im Moment keine Zeit das detailliert zu erklären.
Betrifft nicht aus Edit-Feld auslesen. Dass weisst Du ja mittlerweile schon.
Hiermit habe ich die Daten in ein Static geschrieben.SetWindowText(hWndstatic2,""); InvalidateRect(GetDlgItem(hwnd, IDC_STATIC2), NULL, TRUE); sprintf(Anzeige,"%s %s","Daten von ID7:\n\r",EmpfangsDaten); SetWindowText(hWndstatic2,Anzeige);
-
Original erstellt von <mjac>:
...,weiß aber noch nicht,wie ich diesen Text meinem ChildWindow zukommen lasse und dieses zwecks Aktualisierung neu erstellen kann?Neu erstellen? Nur wegen ein wenig Text? Antwort: SetWindowText()! Sowas.