Warum sehen meine Buttons so hässlich unter WinXP?
-
Ich habe etwas komisches beim Resource Editor von VS2005 bemerkt. Obwohl alle Buttons, Groupboxen etc. XP Style haben, beim Programstart sehen sie irgendwie 95' bzw. 98' Style aus!
Warum das denn?
-
Hast kein Manifest-File dabei ...
-
(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:
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='*'\"") #endifSuper! 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='*'\"") #endif2. 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
-
FAQ: XP-Style mit WinAPI und VC2005
http://www.c-plusplus.net/forum/viewtopic-var-p-is-1328157.html
-
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;