EditBox, Textausgabe



  • Was mache ich hir falsch. Der Text den man in eine EditBox schreibt soll per Knopfdruck ausgegeben werden

    LRESULT CALLBACK WndProc(HWND hwnd,UINT message, WPARAM wParam, LPARAM lParam)
    {
    static HWND hwndButton;
    static HWND hwndEdit;
    int leng=50;
    char derText[50];

    HDC hdc;
    PAINTSTRUCT ps;

    switch(message)
    {
    case WM_CREATE:
    hwndButton=CreateWindow(TEXT("Button"),
    TEXT("Weiter"),
    WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
    300,200,60,30,hwnd,(HMENU) 1,
    ((LPCREATESTRUCT) lParam)->hInstance,NULL);

    hwndEdit = CreateWindow (TEXT ("edit"), NULL,
    WS_CHILD | WS_VISIBLE | WS_BORDER |
    ES_LEFT | ES_AUTOHSCROLL,
    0, 0, 0, 0, hwnd, (HMENU) 2,
    ((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;

    return 0;
    case WM_SETFOCUS:
    SetFocus(hwndEdit);
    return 0;

    case WM_SIZE:
    MoveWindow(hwndEdit,20,20,200,25,TRUE);
    return 0;

    case WM_PAINT:
    hdc = BeginPaint(hwnd,&ps);
    TextOut(hdc,20,200,derText,leng);
    EndPaint(hwnd,&ps);

    case WM_COMMAND :
    if (LOWORD (wParam) == 2)
    if (HIWORD (wParam) == EN_ERRSPACE ||
    HIWORD (wParam) == EN_MAXTEXT)
    MessageBox (hwnd, TEXT ("Edit control out of space."),
    TEXT("Hallo"), MB_OK | MB_ICONSTOP) ;
    return 0 ;

    switch(wParam)
    {
    case 1:

    leng = Edit_GetTextLength(hwndEdit) + 1;
    Edit_GetText(hwndEdit, derText, leng);

    break;
    }
    case WM_DESTROY:
    PostQuitMessage(0);
    return 0;

    }
    return DefWindowProc(hwnd,message,wParam,lParam);
    }



  • was wird eigentlich ausgegeben (oder auch nicht ausgegeben...)
    Wird zum Beispiel der Knopf nicht angezeigt oder eine Fehlermeldung auf Knopfdruck ausgegeben????

    Erzähl was das problem eigentlich ist

    jeanlebon



  • Es soll nur der Text ausgegeben werden, den man zuvor reingeschrieben hat und zwar unterhalb der EditBox



  • Ich weiß nicht richtig wie ich Text aus der EditBox in eine Variable speichern soll, weil es eine art Stringvariable ist und wie ich den Text nachher mit TextOut ausgeben soll



  • Was mir so auffällt:

    1. Bitte mit Code-Tags Quellcode posten (dann bleiben z.B. Tabstops heile und der Quellcode ist besser zu lesen ;D)
    2. z.B. bei WM_PAINT scheint kein break oder return vorhanden zu sein.
    3. Du solltest bei WM_CREATE schonmal derText und leng irgendwie initialisieren.
    4. Bei WM_COMMAND meinst du statt "switch(wParam)" wahrscheinlich "switch(LOWORD(wParam))"


  • Danke, das müßte gehen


Anmelden zum Antworten