XP-Style nicht im Hauptfenster?



  • Hallo,
    ich bin mal eurem Link gefolgt und habe versucht meiner Anwendung mal den XP-Style aufzudrücken. Habe dafür auch InitCommonControlsEx verwendet, da das andere ja obsolete ist. Die Funktion gibt mir auch true zurück, compiliert alles durch, meckert nicht, aber mein Hauptfenster kriegt einfach keinen XP-Style.

    //resource.h - Headerdatei
    #define IDR_MANIFEST  1
    #define RT_MANIFEST  24
    

    Hier sagt er mir auch die waring, dass RT_MANIFEST redefiniert wurde... aber keine Ahnung wo...

    //resource.rc
    #include "resource.h"
    #include "winres.h"
    #include "style.rc2"
    
    //style.rc2
    IDR_MANIFEST RT_MANIFEST MOVEABLE PURE "setup.exe.manifest"
    
    int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
    
    	INITCOMMONCONTROLSEX cls; 
    	cls.dwSize = sizeof(INITCOMMONCONTROLSEX);
    	cls.dwICC = ICC_USEREX_CLASSES|ICC_LISTVIEW_CLASSES;
    
    	if(!InitCommonControlsEx(&cls)){
    		MessageBox(NULL, "gg", "Commandline Arguments - IBM Installation Wizard", MB_ICONEXCLAMATION | MB_OK);
    	}
    MyRegisterClass(hInstance, 0);
    
    		//creating the window, but it is not to be forced, to be shown. If the window will be shown to user depends to the command-line of the setup.exe, in fact /s
    		hWnd = CreateWindowEx(WS_EX_APPWINDOW,"Einfach", "IMiner - Installation Wizard", WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_BORDER | WS_TABSTOP, CW_USEDEFAULT, CW_USEDEFAULT, 374, 167, NULL, NULL, hInstance, NULL);
    

    Irgendwo muss doch da der Wurm drin sein oder gilt der XP-Style wieder nur für per Resourcen erzeugte Dialoge?

    Thx
    AkonF



  • Man braucht in VS 2005 zumindest kein Manifest.
    Man kann einfach diese Anweisung am besten noch vor den Includes aufrufen:

    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
    


  • qasdfgh schrieb:

    Man braucht in VS 2005 zumindest kein Manifest.
    Man kann einfach diese Anweisung am besten noch vor den Includes aufrufen:

    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
    

    Nur als ergänzung: Man braucht natürlich schon ein Manifest, aber mit dem pragma kann man es gleich sagen wie es aussehen soll... man muss aber das erzeugen eines Manifestes aktiviert haben (was auch per default so ist)...


Anmelden zum Antworten