Benutzer mit den meisten Antworten
Neue Control styles anzeigen

Frage
-
Hallo,
ich nutze MS Visual Studio 2015 auf Windows 10.
Ich habe eine MDI Applikation mit CFormViews erstellt. Die Buttons und Controls werden noch im alten XP-Stil angezeigt, nicht im neueren Windows 7-Look.In der stdafx.h steht
#ifdef _UNICODE
#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_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
#endifGenutzt wird das _M_X64 Manifest (X64 Unicode).
In meiner InitInstance() steht:
// InitCommonControlsEx() ist für Windows XP erforderlich, wenn ein Anwendungsmanifest
// die Verwendung von ComCtl32.dll Version 6 oder höher zum Aktivieren
// von visuellen Stilen angibt. Ansonsten treten beim Erstellen von Fenstern Fehler auf.
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// Legen Sie dies fest, um alle allgemeinen Steuerelementklassen einzubeziehen,
// die Sie in Ihrer Anwendung verwenden möchten.
InitCtrls.dwICC = ICC_WIN95_CLASSES | ICC_DATE_CLASSES;// | ICC_STANDARD_CLASSES;
InitCommonControlsEx(&InitCtrls);Ob ich die ICC_WIN95_ rausnehme und die ICC_STANDARD_ reinnehme, hat gar keinen Effekt. Auch beide zusammen haben gar keinen Effekt.
Wie aktiviere ich die neuen Stile?
Danke für Hilfe.
Guido
Antworten
-
Die Grundsätzliche Fragre wäre erst einmal was der "alten XP-Stil" ist. MFC stellt sich nämlich nicht dar als blaue / oliv und silberne Fenster von sich aus. Die Ausnahme wäre man hat den MFC VisualManager in Gebrauch. Alles in allen sind die informationen recht spärlich. Ein Screenshot wäre zur visuellen Identifizierung vielleicht nicht schlecht gewesen?
Meine Vermutung wäre der "alten XP-Stil" ist die GUI Optik aus Windows 2000, was in XP als "Classic Style" oder so umschrieben wurde. Wenn dem so wäre, dann ist es hilfreich, wenn man sein Projekt als UNICODE baut. Die ANSI Version der MFC unterstützt die Stile des DWM nicht mehr.
Best regards
Bordon
Note: Posted code pieces may not have a good programming style and may not perfect. It is also possible that they do not work in all situations. Code pieces are only indended to explain something particualar.- Als Antwort markiert Guido Franzke Donnerstag, 24. November 2016 07:39
-
Hallo Guido,
Gibt die Funktion InitCommonControlsEx FALSE zurück? Wenn dem so ist, hoffe ich, dass folgender Thread Dir weiterhilft:
How to enable common controls in a Windows appGruß,
DimitarBitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Als Antwort markiert Guido Franzke Donnerstag, 24. November 2016 07:39
-
Der VisualManager ist das Problem. Den ausgeschaltet und die CButton auf CMFCButton umgeschrieben, und es geht.
Danke für die Hilfe.
- Als Antwort markiert Guido Franzke Donnerstag, 24. November 2016 07:40
Alle Antworten
-
Hallo Guido,
Gibt die Funktion InitCommonControlsEx FALSE zurück? Wenn dem so ist, hoffe ich, dass folgender Thread Dir weiterhilft:
How to enable common controls in a Windows appGruß,
DimitarBitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Als Antwort markiert Guido Franzke Donnerstag, 24. November 2016 07:39
-
Die Grundsätzliche Fragre wäre erst einmal was der "alten XP-Stil" ist. MFC stellt sich nämlich nicht dar als blaue / oliv und silberne Fenster von sich aus. Die Ausnahme wäre man hat den MFC VisualManager in Gebrauch. Alles in allen sind die informationen recht spärlich. Ein Screenshot wäre zur visuellen Identifizierung vielleicht nicht schlecht gewesen?
Meine Vermutung wäre der "alten XP-Stil" ist die GUI Optik aus Windows 2000, was in XP als "Classic Style" oder so umschrieben wurde. Wenn dem so wäre, dann ist es hilfreich, wenn man sein Projekt als UNICODE baut. Die ANSI Version der MFC unterstützt die Stile des DWM nicht mehr.
Best regards
Bordon
Note: Posted code pieces may not have a good programming style and may not perfect. It is also possible that they do not work in all situations. Code pieces are only indended to explain something particualar.- Als Antwort markiert Guido Franzke Donnerstag, 24. November 2016 07:39
-
Der VisualManager ist das Problem. Den ausgeschaltet und die CButton auf CMFCButton umgeschrieben, und es geht.
Danke für die Hilfe.
- Als Antwort markiert Guido Franzke Donnerstag, 24. November 2016 07:40