Warum sehen meine Buttons so hässlich unter WinXP?



  • (D)Evil schrieb:

    Hast kein Manifest-File dabei ...

    Wie mache ich so was?





  • Unter VS2005 ist diese Variante zu bevorzugen:

    #if defined _M_IX86
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_IA64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_X64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #else
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #endif
    


  • geeky schrieb:

    http://www.winapi.net/index.php?inhalt=t8

    Oh Weh! Ich habe die Erklärung schrittweise verfolgt... Trotzdem nach F5 kriege ich anstatt laufendes Programm die Fehlermeldung im MessageBox:

    test.exe - Unable to load component
    This application has failed to start because MSVCR80D.dll was not found. Re-installing the application may fix this problem.

    Was mach ich jetzt? Helfen sie mir! Es ist dringend!

    Jochen Kalmbach, hab das nicht verstanden.



  • Was gibts da zu verstehen? Copy-Paste, fertig.



  • Jochen Kalmbach schrieb:

    Unter VS2005 ist diese Variante zu bevorzugen:

    #if defined _M_IX86
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_IA64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_X64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #else
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #endif
    

    Super! Es hat funkzioniert!
    Warum machen sie nicht ein wichtiges Thema, wo der ganze Vorgang beschrieben wird?
    Also, so was:

    1. Im Source code einfügen

    #include <commctrl.h>
    
    #if defined _M_IX86
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_IA64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_X64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #else
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #endif
    

    2. Im WinMain einfügen:

    InitCommonControls();
    

    3. Im Projekt Einstellungen->Linker->Input->Additional dependancies->comctl32.lib

    Das ist alles. Ich frage mich nun, warum mir niemand das vorher gesagt hat... Oder sollen wir hier alle mit einem Kristallkugel lernen?



  • vllt google und die Boardsuche benutzen weil 's das Thema schon unzählige male gab! 😉



  • Zdravko schrieb:

    3. Im Projekt Einstellungen->Linker->Input->Additional dependancies->comctl32.lib

    Ich bevorzuge es Bibliotheken ebenfalls mit der #pragma-Anweisung zu linken:

    #pragma comment(lib, "comctl32.lib")
    

    😉 .



  • Zdravko schrieb:

    Oder sollen wir hier alle mit einem Kristallkugel lernen?

    Bissi Kristallkugel brauchst du sowieso immer, also fang schon mal an zu üben 🙂
    BTW: es heisst DIE Kugel 😉





  • CodeFinder schrieb:

    Zdravko schrieb:

    3. Im Projekt Einstellungen->Linker->Input->Additional dependancies->comctl32.lib

    Ich bevorzuge es Bibliotheken ebenfalls mit der #pragma-Anweisung zu linken:

    #pragma comment(lib, "comctl32.lib")
    

    😉 .

    Ich wusste diese #pragma-Anweisung nicht. Was macht sie denn?



  • das selbe wie du nur das man nicht in den einstellungen rumpfuschen muss 😃

    [cpp]
    #pragma comment(lib, "comctl32.lib")
    [/cpp]
    

    ich beforzuge dies ebenfals :p



  • Ascharan schrieb:

    das selbe wie du nur das man nicht in den einstellungen rumpfuschen muss 😃

    [cpp]
    #pragma comment(lib, "comctl32.lib")
    [/cpp]
    

    ich beforzuge dies ebenfals :p

    Ok, vielen Dank!



  • pharmacy;



  • pharmacy;


Anmelden zum Antworten