Anfängerproblem: Kann nichts in Edit-Control schreiben
-
Hallo alle zusammen,
ich portier mich gerade von Java auf C++ und hab ein wahrscheinlich simples Problem.
Ich will ein normales Edit-Feld verwenden.
Source:int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{HWND hWnd;
hWnd = CreateWindow(
"EDIT","TEST",WS_VISIBLE,
0, 0, 100, 100,NULL, NULL, hInstance, NULL);MSG msg;
while (GetMessage(&msg, NULL, NULL, NULL)) {
DispatchMessage(&msg);
}return 0;
}Also eigentlich ziemlich simpel.
Nun lässt mich das Feld zwar kopieren, einfügen, markieren, löschen, ausschneiden, entfernen, aber keine zeichen eintippen.
Was fehlt mir denn dazu noch?Viele Grüße!
Matthias
-
Dir fehlt noch das TranslateMessage(&msg); vor DispatchMessage in der Message-Loop.
Allerdings ist es nicht wirklich gut ein Edit direkt als Hauptfenster zu nehmen - aber bist ja wohl erstmal nur bissl am rumspielen. Ein paar Tutorials wären aber sicher empfehlenswert: z.B. http://www.win-api.de/tutorials.php
-
kleine anmerkung: du hast WS_CHILD bei WS_VISIBLE vergessen, also du brauchst
WS_CHILD | WS_VISIBLE
-
Danke, es lag am TranslateMessage.
Ich hab das WS_CHILD nicht vergessen. Nur um den Fehler mit dem EDIT-Controll zu finden hab ich nur ein EDIT-Fenster mit einem Rahmen erstellt. (Das passiert, wenn man das WS_CHILD weglässt ;-))