Элементы управления XP (WinAPI)
Привет, как с помощью WINAPI создать "красивые" элементы управления в WinXP, например: button, radiobutton и т.п. :)
ооо тут всё просто! Линкуешь ComCtl32.lib, перед созданием каких бы то нибыло окон, вызываешь InitCommonContrls(); и делаешь далее всё как обычно, фишка в том что ты добавляешь "хитрый" ресурс к файлу, по которому XP определяет как рисовать твои контролсы. Вот этот ресурс:
<?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="X86"
name="CompanyName.ProductName.YourApplication"
type="win32"
/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
т.е. это обычный XML файл. называешь его скажем: MyApp.manifest, и пропишешь ручками в RC-файл следующую строчку:
IDR_MANIFEST RT_MANIFEST "MyApp.manifest"
а в resource.h добавим:
#define IDR_MANIFEST 1
P.S. альтернативный вариант не использовать ресурсы, а поместить файл с манифестом, в ту же папку что и exe, windows его загрузит.
P.P.S. подробнее читай в MSDN статью "Using Windows XP Visual Styles".