WS_VSCROLL | WS_HSCROLL



  • Hi

    Mit der Funktion CreateWindowEx() kann man ja Fenster erstellen die sofort eine Scrollbar haben indem man WS_VSCROLL | WS_HSCROLL verwendet.

    Geht leicht und gut, dass einzige Problem ist, dass ich gerne die normalen Scrollbars hätte nicht die im Windows xp luna design.

    Wie geht das?

    Danke!



  • Hast du eine manifest-Datei eingebunden oder sind die ScrollBars die einzigen Controlls, bei denen der VisualStyle angezeigt wird? Ich denke mal gemischt ist nicht möglich oder evtl. über Änderungen in der manifest-Datei.



  • Unter Windows XP werden die Scrollbars immer im Luna-Style gezeichnet, auch wenn die Anwendung keine Manifest-Datei benutzt. Eine Möglichkeit dies zu ändern gibt es AFAIK nicht, außer man benutzt die Cool Scrollbar Library. 🕶



  • Ich wette, wenn man sie selbst über CreateWindow() erstellt:

    hwndScroll = CreateWindowEx( 
        0L,                          // no extended styles 
        "SCROLLBAR",                 // scroll bar control class 
        (LPSTR) NULL,                // text for window title bar 
        WS_CHILD | SBS_HORZ,         // scroll bar styles 
        0,                           // horizontal position 
        0,                           // vertical position 
        200,                         // width of the scroll bar 
        CW_USEDEFAULT,               // default height 
        hwnd,                   // handle to main window 
        (HMENU) NULL,           // no menu for a scroll bar 
        hinst,                  // instance owning this window 
        (LPVOID) NULL           // pointer not needed 
    );
    

    werden sie nicht im XP-Style gemalt. Natürlich, nur wenn keine manifest-Datei eingebunden wurde. (kann es nicht ausprobieren, hab kein XP installiert)



  • Das ist natürlich was anderes, da könnte man auch SetWindowTheme mit einem null HTHEME Handle aufrufen. 😉



  • Wie soll man sonst ein Fenster erstellen?
    Über den Resourceneditor? Warum sollte da auf einmal der Luna-Style benutzt werden?

    Und kann man das mit SetWindowTheme nicht bei jedem Fenster machen?



  • Ach sorry vergeßt meinen letzten Post. Kurz dannach hatte ich das Problem verstanden.


Anmelden zum Antworten