Просмотр полной версии : Visual Styles для своих контролов
вообщем проблема такова. создаю кнопку через АПИ:
hFileWnd = CreateWindow("button", "qwe", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 10, 10, 75, 20, hWnd, NULL, hInstance, NULL);
но выглядит эта кнопка как в вин95. мне нужно чтобы она выглядела "по-современному", используя хршные стили.
знаю что надо сделать манифест, но сколько раз я его не делал, ничего не получалось :(
кто может помочь решить проблему?
Есть такой файл: C:\WINDOWS\system32\logonui.exe.manifest
Скопируй его к себе, в рабочую папку и переименуй в соответствии со своим exe'шником, когда убедишься что работает, можешь подкорректировать внутренности и прикрепить к ресурсам.
ок, спс, запахало. только странно, почему раньше не работало. теперь есть еще 2 вопроса:
1. после добавления манифеста, кнопка выглядит как и надо в хр, только вокруг нее белая рамка некрасивая(фон окна синий). как ее убрать?
2. можно ли обойтись как-то без манифеста?
Элементы стилей предназначены для использования на окне, с цветом фона, что прописан в этом стиле.
Тебе нужно решить, будешь использовать полностью системные стили или полностью свои, хуже всего, когда пытаются их совмещать и когда пользователь ставит например тёмный фон в стилях, программа становится не пригодна к работе и приходится от неё отказаться ;)
А вообще, есть апи для использования этих стилей, но тогда твоя программа будет работать только под XP
UxTheme.dll CloseThemeData DrawThemeBackground DrawThemeBackgroundEx DrawThemeEdge DrawThemeIcon DrawThemePar
entBackground DrawThemeText EnableThemeDialogTexture EnableTheming GetCurrentThemeName GetThemeAppProperties GetThemeBac
kgroundContentRect GetThemeBackgroundExtent GetThemeBackgroundRegion GetThemeBool GetThemeColor GetThemeDocumentationPro
perty GetThemeEnumValue GetThemeFilename GetThemeFont GetThemeInt GetThemeIntList GetThemeMargins GetThemeMetric GetThem
ePartSize GetThemePosition GetThemePropertyOrigin GetThemeRect GetThemeString GetThemeSysBool GetThemeSysColor GetThemeS
ysColorBrush GetThemeSysFont GetThemeSysInt GetThemeSysSize GetThemeSysString GetThemeTextExtent GetThemeTextMetrics Get
WindowTheme HitTestThemeBackground IsAppThemed IsThemeActive IsThemeBackgroundPartiallyTransparent IsThemeDialogTextureE
nabled IsThemePartDefined OpenThemeData SetThemeAppProperties SetWindowTheme
PS Хотел дать ссылку на MSDN, но эти ***** поудаляли страницы связанные со стилями XP, наверное из-за этой ****** висты....
Нак те вообще эти стили-чем тебе стандартный не страивает?Или юзай свой.А то понаделают программ вод определенную программ.Я например поклоник исключительно(если брать виндовз) только win2k а щас наплодили всякого говна под win xp именно.Короче бред.Как в си++ это выглядит не подскажу но апи функции подскажу-только придеться рисовать-много рисовать для красивого интерфейса.
2. можно ли обойтись как-то без манифеста?
Afair, нет.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot