Text zentrieren



  • Hallo zusammen,

    ich versuche mit folgender Zeile einen Text in einer STATIC zu zentrieren.

    SetWindowLong(GetDlgItem(WINMAIN_hWndMain, ID_DETAILS), GWL_EXSTYLE, GetWindowLong(GetDlgItem(WINMAIN_hWndMain, ID_DETAILS), GWL_STYLE) | SS_CENTER);
    

    Warum funktioniert das nicht?



  • Du möchtest bestimmt GWL_STYLE statt GWL_EXSTYLE.
    Vielleicht hilft InvalidateRect(GetDlgItem(WINMAIN_hWndMain, ID_DETAILS), 0, 0);



  • Ich hab zumindest für Edit-Fenster in Erinnerung, dass sich die Einstellung rechts/links/zentriert nur beim CreateWindow mitgeben lässt, und nicht nachträglich verändert werden kann. Möglicherweise trifft das auch auf Static-Fenster zu.
    Das heißt, Attribute merken, Fenster zerstören und neu erstellen.



  • Versuch mal nach dem Ändern der Styles UpdateWindow(HWND hWnd) aufzurufen.
    Vielleicht wird die Änderung erst nach dem Neuzeichnen übernommen...

    UpdateWindow(GetDlgItem(WINMAIN_hWndMain, ID_DETAILS));

    http://msdn.microsoft.com/en-us/library/windows/desktop/dd145167(v=vs.85).aspx


Log in to reply