editfeldgrösse anpassen?



  • ich habe folgendes aus einem tut:

    case WM_SIZE:
            {
    
    //Damit das Editfeld immer die gesamte Clientarea des Parentfensters ausfüllt, wird es bei einer Größenänderung des Parentfensters mit angepasst. 
    
                MoveWindow(hEdit, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);
                return 0;
            }
    

    nur funzt das nicht! das textfeld hEdit ist ewig breit(breiter als das fenster und nur halb sohoch wie n standart einzeiliges textfeld. ich hab mal die grössenwerte durch 100 geteilt, und siehe da: das textfeld war nun nicht mehr ganz so breit wie das fenster, seine grösse änderte sich aber auch nicht bei resizen! wasn daran falsch? steht genauuuso im tutorial!



  • Ist hEdit in WM_SIZE gültig - sprich: global oder static in der WndProc?



  • Die Größe vom Client Windows holen:

    // Editbox anzeigen/scalieren
    		GetClientRect (hwnd, &rect);
    		MoveWindow (edbx, 0, 0, rect.right, rect.bottom, TRUE);
    

    Der Rand links, rechts, oben und unten, sowie eventuell vorhandene Statusbar, Menüs oder Buttons muß man auch noch berücksichtigen (-->GetSystemMetrics()).

    Blackbird


Anmelden zum Antworten