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 ;-))


Anmelden zum Antworten