Включение визуальных стилей

В настоящее время я пытаюсь работать через Windows GUI API, и чем больше я вижу … давайте подумаем: в основном я следую этому руководству MSDN чтобы включить визуальные стили из Win7, но InitCommandcontrolsEx возвращает false:
Я делаю следующее:

Включить заголовки

#include <windows.h>
#include <commctrl.h>

Инициализируйте его с желаемыми визуальными стилями

INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_STANDARD_CLASSES;
if(InitCommonControlsEx(&icex)) {
cout << "Visual styles loaded" << endl;
} else {
cout << "Error while loading visual styles" << endl;
cout << GetLastError() << endl;
}

Создайте файл ресурса, который скомпилирует манифест

CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "GUI.exe.manifest"

Сам манифест

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

Для этого я использую windres из GNU binutils

windres GUI.rc GUI.res

И, наконец, я ссылаюсь на него и ComCtl32.dll

g++ "-LC:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Lib\\x64" -mwindows -o GUI.exe "src\\main.o" -lmingw32 -lComCtl32 "src\\GUI.res"

Но, как упоминалось во введении, InitCommonControlsEx всегда переходит в блок false, не показывая обновленные визуальные стили, которые подтверждают ложь. Есть идеи?

система:
Win7 64Bit
компиляция g ++ 64Bit
IDE Eclipse CDT

1

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]