Тема окна в Win Api

  • Автор темы Mungust
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

Mungust

#1
Пишу в WIN API, создаю кнопачки и прочие элементы управления, но они все создаются классическим стилем. А вот мне хочется настроить, и чтобы хоть текущую тему винды брало. Очень буду рад, если поможете ;)
**оффтоп***
А форум еще жив? А то в последнее время куда ни зайду, везде одни трупы, место на серве занимающие
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#2
Этот живет по тихоньку=) Сейчас вот большое обновление готовлю.. НО это так. Оффтоп. А по теме: Просто создай в папке c прогой файл
Код:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="5.1.0.0"
processorArchitecture="x86"
name="Author.Program_Name"
type="win32"
/>
<description>Program Description</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
и назови его имя_программы.exe.manifest

Ну или можно в ресурсы добавить
Код:
1					  24	 MOVEABLE PURE  "имя_файла_с_вышенаписанным_содержанием"
и пересобрать прогу.
 
M

Mungust

#4
Все, получилось, большое спасибо. А это нельзя как-то через настройки проекта в Microsoft Visual Studio 2008 организовать?
 
S

SynTronic

#6
Добавить в заголовочный файл проекта (типа stdafx.h) директиву
[codebox]#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")[/codebox]
:) Это для архитектуры x86. Ещё есть для x64 и т.д., это яндекс подскажет
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#7
Хм.. Ну я про такое не знал=) Буду иметь ввиду)
 
M

Mungust

#8
Я меня проблема, появилась, вот я создавал манифест, тупо добавлял его в дерево к ресурсам, компили и все хорошо. Но это у меня дома, теперь попробовал на другом компе - тупо не отображаютя элементы. Причем еще и расширенные типа календаря тоже. С чем может быть связано? У меня ХР sp2, проверял и в чужом sp2, sp3 - ничерта не показывает, студия та же.
SynTronic, завтра проверю твое на др машинах
 
M

Mungust

#9
SynTronic , провери - не работает. Мне точно никто не поможет разобраться в чем дело? Жаль...
 
K

KibeRShuriK

#10
Проверь версию и корректность библиотеки comctl32.dll
а также статической comctl32.lib, возможно в них что-то...(можно в конец и заменить временно=) )

и уж не ради греха ради попробуй иницилизировать "Общие окна управления"(Common Controls) через функцию InitCommonControlsEx()


просто у меня однажды такой же трабл был, и я решил его через эту функцию.
 

alekssgor

Well-known member
26.05.2008
118
0
#11
А у меня друга проблема добавляю в ресурсы и стиль не меняется(если не добавляю а использую отдельный файл работает)
Работаю в Dev-C++.
 

alekssgor

Well-known member
26.05.2008
118
0
#12
Я меня проблема, появилась, вот я создавал манифест, тупо добавлял его в дерево к ресурсам, компили и все хорошо. Но это у меня дома, теперь попробовал на другом компе - тупо не отображаютя элементы. Причем еще и расширенные типа календаря тоже. С чем может быть связано? У меня ХР sp2, проверял и в чужом sp2, sp3 - ничерта не показывает, студия та же.
SynTronic, завтра проверю твое на др машинах
В Viste работает без проблем. Не работает в XP после установки SP3.
 
Статус
Закрыто для дальнейших ответов.