Страница: 1 | 2 |
Вопрос: Возможно глупый, и частозадаваемый вопрос
Добавлено: 05.11.04 21:17
Автор вопроса: kolyanoid
Как сделать в ВБ-приложении ХР-стильные контроллы?
Что для этого нужно: в инете ХР-контроллы искать, или в настройках что-то делать?
Ответы
Всего ответов: 17
Номер ответа: 1
Автор ответа:
Barsik
Разработчик Offline Client
ICQ: 343368641
Вопросов: 17
Ответов: 686
Web-сайт:
Профиль | | #1
Добавлено: 05.11.04 22:28
мона и контролы юзать а мона и файлы манифеста...
выбор за тобой... тока манифесты будут в ХР работать, а юзерконтролы в любой винде...
Номер ответа: 2
Автор ответа:
kolyanoid
Вопросов: 19
Ответов: 60
Профиль | | #2
Добавлено: 06.11.04 00:47
Понятно, а откуда ХР-контроллы нарыть? Или есть в SP6? А то моя прога должна работать на всех виндах, которые круче 95й (вернее, которые поддерживают ДиректХ 7+) и работать она будет у ~100 человек...
Номер ответа: 3
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #3
Добавлено: 06.11.04 07:29
По-моему лучше всего манифесты, зашитые внутрь ЕХЕ, а иначе ХР конролы в других системах будут некрасивыми
Номер ответа: 4
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #4
Добавлено: 06.11.04 13:04
откуда ХР-контроллы нарыть?
Искать в примерах, не только на этом сайте, их огромное количество.
По-моему лучше всего манифесты, зашитые внутрь ЕХЕ, а иначе ХР конролы в других системах будут некрасивыми
С манифестом будет стиль ХР будет только в ХР, в остальных будут обычные кнопки. А если контролы использовать, то они будут выглядеть одинаково под любой ОС, хоть ХР, хоть 98
Номер ответа: 5
Автор ответа:
Barsik
Разработчик Offline Client
ICQ: 343368641
Вопросов: 17
Ответов: 686
Web-сайт:
Профиль | | #5
Добавлено: 06.11.04 13:12
дык мона универсальный контрол зделать, который делает проверку винды.. еси ХР то стиль ХР.. если другой, то другой...
Номер ответа: 6
Автор ответа:
night-roll
Вопросов: 36
Ответов: 326
Профиль | | #6
Добавлено: 07.11.04 05:21
этих XP контролов хоть до одного места!
единственное, что требуется доработка каких-то в большей, каких-то в меньшей степени!
сам пишу скроллбар а-ля XP, который бы поддерживал темы XP, то бишь скины (оливковая, серебристая, голубая), но есть 1 заковырка - см. тему пользовательский контрол
Номер ответа: 7
Автор ответа:
night-roll
Вопросов: 36
Ответов: 326
Профиль | | #7
Добавлено: 07.11.04 05:23
забыл сказать, если бы ни эта заковырка, то скролл готов лечь в исходнике (и готовом примере) на этот сайт (с разрешения админов, конечно)
Номер ответа: 8
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #8
Добавлено: 07.11.04 09:31
Я че и говорю!!! Если в вин2000 будут ХР кнопки - то это будет полное х....
Номер ответа: 9
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #9
Добавлено: 07.11.04 14:53
Вот файл манифеста для VB6:
<?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="prjThemed" type="win32" />
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*" />
</dependentAssembly>
</dependency>
</assembly>
И сразу вопрос, несколько мне известно чтобы использовать стили XP необходимо использовать ф-ю InitCommonControlsEx. Но! У меня все работает без неё, т.е. запускаю VB кидаю на форму элементы…, компилирую, даю имя файлу манифеста “ИМЯ ПРОГРАММЫ.EXE.MANIFEST”, кладу его в папку с exe’шником, запускаю и О ЧЮДО – все как у ХРюши.
Собственно вопрос – это нормально или использовать InitCommonControlsEx серавно нужно?
Номер ответа: 10
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #10
Добавлено: 07.11.04 15:09
Все равно нужно. Попробуй запихнуть на форму Фрейм, откомпилировать и подсунуть манифест.
У меня ЕХЕ вообще не запустился. Нужно запускать
Номер ответа: 11
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #11
Добавлено: 07.11.04 15:24
Понял. А почему если OptionButton помещаю во внутрь фрейма его фон становится черным и изменить его не получается? Ф-ю вызываю так:
Option Explicit
Private Type tagInitCommonControlsEx
lngSize As Long
lngICC As Long
End Type
Private Declare Function InitCommonControlsEx Lib "comctl32.dll" (iccex As tagInitCommonControlsEx) As Boolean
Private Const ICC_USEREX_CLASSES = &H200
Private Sub Form_Initialize()
On Error Resume Next
 im iccex As tagInitCommonControlsEx
With iccex
.lngSize = Len(iccex)
.lngICC = ICC_USEREX_CLASSES
End With
InitCommonControlsEx iccex
End Sub
Номер ответа: 12
Автор ответа:
kolyanoid
Вопросов: 19
Ответов: 60
Профиль | | #12
Добавлено: 07.11.04 23:43
Так, с манифестами вроде всё ясно. Значит нужно создать файл, впихнуть в него вышеуказанные кишки, и обозвать его соответствующим образом... Правильно? Тогда сразу 2 вопроса.
1) Эти кишки менять нужно или нет? Это для любой проги пойдёт?
2) Какой код в самой проге нужен, что всё без глюков было?
Номер ответа: 13
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #13
Добавлено: 07.11.04 23:57
1 Ну можешь ещё prjThemed заменить на имя своей программы
2 Тот, который Mihalыch постил (№ 11)
Номер ответа: 14
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #14
Добавлено: 08.11.04 07:16
Скачай PE Explorer (Если хочешь - я вышлю)
Там есть функция для генераций манифеста и впихивания его в ЕХЕ
Номер ответа: 15
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #15
Добавлено: 08.11.04 07:18
Не знаю. У меня такая же хрень.