Как изменить темы управления в приложении Win32 API?

Если я создаю кнопку в Win32 API, тема управления по умолчанию выглядит как кнопка Windows 95/98. Я помню, в прошлом на форумах Microsoft мне рассказывали, как получить стиль XP, но я не помню, как это сделать. Есть ли способ программно или вручную изменить темы управления в приложении Win32? Спасибо.


person Phil    schedule 19.08.2010    source источник


Ответы (2)


Вы хотите включить визуальные стили, добавив манифест зависимость от сборки common control 6 для вашего манифеста приложений.

Если вы используете DevStudio, это должно быть так же просто, как добавить директиву #pragma со связанной страницы:

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

функция SetWindowTheme может стать решением . ХТН

person JustBoo    schedule 19.08.2010
comment
Я успешно скомпилировал, используя следующее: SetWindowTheme(hButton, LExplorer, NULL); Но я не вижу никаких изменений темы. Я использую Vista/VS2003, но я предполагаю, что это нормально. - person Phil; 19.08.2010
comment
работает как шарм - person Jack; 09.01.2021