Höhe eines STATIC-Feldes berechnen



  • Hi,
    ich hab einen String. Den möchte ich in ein Static reinzwingen. Dieser String ist aber beliebig lang. D.h., ich muss das Static in der Höhe anpassen, denn in der Breite möchte ich es festgelegt haben. Wie kann ich das machen? 😕



  • So aus der kalten Hose heraus würde ich vorschlagen, zunächst mit DrawText und DT_CALCRECT die Dimension des Textes herauszufinden und danach das Static mit MoveWindow/ SetWindowPos in der Höhe anzupassen.



  • Werd ich mal probieren, danke.



  • Geht ned. Mein Ansatz:

    // Den Dialog und hStatMsg in der Höhe anpassen
    GetClientRect(hStatMsg, &rc);
    height = rc.bottom;
    dy = DrawText(hdc, lpszMsg, -1, &rc, DT_EDITCONTROL | DT_CALCRECT) - height;
    SetWindowHeight(hDlg, GetWindowHeight(hwnd) + dy);
    SetWindowHeight(hStatMsg, height + dy);
    

    Die Get-/SetWindow...()-Funktionen sind von mir geschrieben und funktionieren auch. Das Problem ist, dass DrawText() kein WordWrapping kennt. Der belässt es einfach bei der vorher eingestellten Höhe. dy ist Null!



  • WebFritzi schrieb:

    Das Problem ist, dass DrawText() kein WordWrapping kennt.

    Äh, doch. Was ist denn mit DT_WORDBREAK?



  • YEAH! Ich dachte, das hätte was mit dem Trennungszeichen (-) zu tun.



  • GROSSES DANKESCHÖN!


Log in to reply