WinAPI und Windows 7/Vista Button Style



  • Hi C++ Community,
    ich programmiere jetzt schon einige Zeit mit WinAPI32 unter Windows 7 (32 Bit).
    Nun finde ich die Button-Styles ziemlig langweilig und öde. Ich möchte die "neuen" Window Button Styles verwenden die um einiges besser aussehen und die GUI wesentlich ansprechenter machen.

    Wie ist dies zu bewerkstelligen, dass man die "neuen" Button (Checkbox, Pushbutton, ...) Styles verwendet?

    Vielen Dank für jede nützliche Antwort!

    🙂



  • 1. "InitCommonControls();" beim Programmstart aufrufen.
    (#include <commctrl.h>)

    ( Nun öffne die Projekteinstellungen; Ich hoffe du benutzt MSVC++ )

    2. "comctl32.lib" in die Bibliotheksliste eintragen.

    3. Unter "Linker" -> "Manifestdatei" -> "Zusätzliche Abhängigkeiten" -> folgendes Eintragen: (EXAKT wie es hier steht!)

    "type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='X86' publicKeyToken='6595b64144ccf1df' language='*'"
    

    -.Johannes Schneider



  • Jo, Danke Johannes Schneider!

    Mit freundlichen Grüßen,
    _T_T

    😃



  • Vielen Dank nochmal, hat funktioniert!

    Mal eine Frage noch:
    Woher weißt du das? Aus einen Buch oder so?

    Möchte mich gerne weiterbilden 😉





  • Ich suche nun schon seid Stunden, wie ich das in Eclipse(mit MinGW) einstellen kann.
    In den Linker-Optionen habe ich schon alles ausprobiert, und ein makefile, welches ich einfach bearneiten könnte, habe ich leider auch nicht gefunden.
    Hat jamand eine Idee/Tip?



  • Du kannst auch die Manifestdatei als resource einbinden, z.B.:

    1	24	DISCARDABLE	".\\windows_xp.manifest"
    

    in der Datei könnte dann sowas stehen:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity
        name="My Proggy"
        processorArchitecture="x86"
        version="1.0.0.0"
        type="win32"/>
    <description>Windows Shell</description>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity
                type="win32"
                name="Microsoft.Windows.Common-Controls"
                version="6.0.0.0"
                processorArchitecture="x86"
                publicKeyToken="6595b64144ccf1df"
                language="*"
            />
        </dependentAssembly>
    </dependency>
    </assembly>
    

Anmelden zum Antworten