Страница: 1 |
Проще всего создать файл в каталоге с прогой имя_exe.manifest, содержимое можешь найти в MSDN... Самая главная строчка в манифесте - это name="Microsoft.Windows.Common-Controls" version="6.0.0.0" она указывает, что нужно использовать контролы 6-й версии. Я экспериментировал с этим, но у меня пока не выходит. если ложишь *.exe.manifest рядом с программой, она просто не хочет запускаться. Возможно, это как-то связано с класом Thunder***, но я не уверен. Скорее всего неправильно составлен манифест(у меня MSDN 2000, там еще про манифест неу ничего и я его с другой проги дернул). Можно воткунуть манифест в ресурсы. Делаешь там новый раздел "24", а ID ресурсу присваеваешь 0 (так, допустим, в winrar). я еще не успел так извратнутся. Что получится-расскажу. PS. Странное имя раздела "24" невольно наталкивает на мысль, что в microsoft работают русские программисты Содержимое файла манифеста можно посмотреть не только в MSDN, но и в %WINXPDIR%. Вот оно: [===CUT===] [===CUT===] Действительно, если просто положить манифест в папку с VB-программой, та не запустится (причина темна). Однако, если запустить программу в режиме совместимости с чем-нибудь (даже Win95!), контролы появятся и будут блистать разными круглыми частями... Интересный факт: с помощью совместимости можно обманывать код определения ОС, работающий на основе GetVersionEx! Этот вопрос неоднократно затрагивался на форуме и можно даже поискать статью на эту тему в разделе "Статьи". Успеха! To sKit: To Sharp: После 3-х дневных мучений у меня получилось! Делюсь своим вариантом: в Notepad набрать: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> Далее сокранить в каталоге проэкта как : Имя_проги.exe.manifest Важно! Это надо добавить в код формы: Private Sub Form_Initialize() "Comctl32.dll" - отвечает за прорисовку контролов в форме а-ля XP ! Если чего пишите : alperium@mail.ru To <=Alex=>: Это был неудачный эксперимент со вставкой HTML-тегов в текстовое сообщение (похоже, содержимое манифеста приняли за теги Страница: 1 |
Вопрос: Как сделать онтролы в проге "под XP" (manifest???)
Добавлено: 29.07.03 15:27
Автор вопроса:
Alperium
Чего-то связанное с manifest! Подскажите!Thanks!
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа: shuffle
Администратор
ICQ: 201502381
Вопросов: 15
Ответов: 737
Профиль | | #1
Добавлено: 29.07.03 17:21
Номер ответа: 2
Автор ответа: crackoff
ICQ: 156165990
Вопросов: 12
Ответов: 229
Профиль | | #2
Добавлено: 01.08.03 11:18
Номер ответа: 3
Автор ответа: Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 01.08.03 11:45
Номер ответа: 4
Автор ответа: shuffle
Администратор
ICQ: 201502381
Вопросов: 15
Ответов: 737
Профиль | | #4
Добавлено: 01.08.03 15:32
1. Это не самая важная строчка, т.к. одна без другой работать не будет И означает она не то, что ты подумал... Она указывает на использование библиотеки comctl32.dll
2. Это никак не связано с классом окон VB. Одна очень важная деталь: нужно в коде вызывать InitCommonControls!
Это вообще что такое?! Там совсем не так должно быть!
Номер ответа: 5
Автор ответа: Alperium
Вопросов: 9
Ответов: 18
Профиль | | #5
Добавлено: 01.08.03 19:31
<!-- Manifest generated by DROMADA data Dev. -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.98"
processorArchitecture="X86"
name="имя проги"
type="win32"
/>
<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>
Private Declare Function InitCommonControls Lib "Comctl32.dll" () As Long
Dim X As Long
X = InitCommonControls
End Sub
Номер ответа: 6
Автор ответа: Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #6
Добавлено: 01.08.03 20:29
)