Visual Basic + Windows XP style неужели невозможно?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Visual Basic + Windows XP style неужели невозможно?

Сообщение v-adix » 18.11.2004 (Чт) 19:52

Здравствуйте!
Тема эта уже заезжанная, но всетаки у меня некоторые непрояснения, которые еще не обсуждались у нас на форуме. Для начала, расскажу, как можно сделать стиль программ как в XP:

1. Использование manifest файла. Работает только в XP с Common Controls 5.0 (искать по ключевому слову manifest)
2. Использование WindowsXPC Engine (www.pscode.com). Работает только в Windows XP с Common Controls 5.0 / 6.0
3. Использование пакета XPSuite

В моей программе используется компонент ListView из Common Controls 6.0 с включенным свойством CheckBoxes.
Хочу чтобы стиль был как в XP. Через manifest не получается, т.к. в ListView версии 5.0 нету свойства CheckBoxes.

WindowsXPC Engine часто глюкает + меняет многие свойства ListView (есть ещё много причин по которым я не могу использовать WindowsXPC Engine). Пакет XPSuite мог бы стать решением проблемы, однако к нему нужен крэк, который найти мне не удается...
Жду вашего совета!

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 18.11.2004 (Чт) 21:51

Пакет XPSuite мог бы стать решением проблемы, однако к нему нужен крэк, который найти мне не удается...

Хм... А как же h**p://www.lomalka.ru или h**p://astalavista.box.sk ???
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

seelts
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 21.11.2002 (Чт) 11:24
Откуда: Russia

ХР-интерфейс

Сообщение seelts » 19.11.2004 (Пт) 0:17

используй файлы ресурсов:
Как сделать XP-интерфейс в программе
если создать алгоритм, которым сможет пользоваться даже дурак, то только дурак и будет им пользоваться

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.11.2004 (Пт) 10:06

seelts писал(а):используй файлы ресурсов:
Как сделать XP-интерфейс в программе
C Common Controls 6.0 манифест не поможет - ни в ресурсах, ни где.
Изображение

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 19.11.2004 (Пт) 20:09

вот в этом и вопрос - как сделать стиль XP в Common Controls 6.0 ?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.11.2004 (Пт) 20:39

Имхо никак. Выбирай - или шестёрка, или стили.
Изображение

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 20.11.2004 (Сб) 15:15

tyomitch писал(а):Имхо никак. Выбирай - или шестёрка, или стили.

трабла была в том, что в listview 5.0 нету свойства checkboxes. проблему я решил просто добавлением иконок. smallicon = 1 это всёравно что checked=true и наоборот.

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 20.11.2004 (Сб) 15:45

Ну ладно это чекбоксы, а выделение всей строки как? :wink:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

seelts
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 21.11.2002 (Чт) 11:24
Откуда: Russia

:?

Сообщение seelts » 20.11.2004 (Сб) 17:00

tyomitch писал(а):C Common Controls 6.0 манифест не поможет - ни в ресурсах, ни где.

честно говоря я не доконца понял эту фразу, но вроде как есть сомнения что это работает?
у меня работает, главное как я понял чтоб имя проги в манифесте совпадало с именем при компиляции.
через ресурсы запихнуть не получилось, но если просто приложить манифест к ехешнику - работает.
одно только НО!!! внутри фрэймов чекбоксы и радиобутоны глючат.
кстати у меня и Вася 6 тоже отманифестенный, так что я и в ИДЕ сижу с ХРшным стилем.
если создать алгоритм, которым сможет пользоваться даже дурак, то только дурак и будет им пользоваться

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Re: :?

Сообщение v-adix » 20.11.2004 (Сб) 19:50

seelts писал(а):
tyomitch писал(а):C Common Controls 6.0 манифест не поможет - ни в ресурсах, ни где.

честно говоря я не доконца понял эту фразу, но вроде как есть сомнения что это работает?
у меня работает, главное как я понял чтоб имя проги в манифесте совпадало с именем при компиляции.
через ресурсы запихнуть не получилось, но если просто приложить манифест к ехешнику - работает.
одно только НО!!! внутри фрэймов чекбоксы и радиобутоны глючат.
кстати у меня и Вася 6 тоже отманифестенный, так что я и в ИДЕ сижу с ХРшным стилем.

ты хочешь сказать, что можно сделать стиль XP используя Windows Common Controls 6.0 ? Как?

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 20.11.2004 (Сб) 20:10

_Мика_ писал(а):Ну ладно это чекбоксы, а выделение всей строки как? :wink:

кстати в программе FlashGet выделяется вся строка. значит както можно. я имею ввиду вручную.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 21.11.2004 (Вс) 8:21

Я плохо в этом разбираюсь, поэтому не постил :) Но раз возникло мнение, созвучное моему, спрошу :)

Каким образом, кроме манифеста, можно вообще это сделать? Кроме манифеста методов не знаю - и никогда проблем не было. Главное - включить его в ресурсы правильно.
http://bbs.vbstreets.ru/viewtopic.php?t ... c&start=15
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

seelts
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 21.11.2002 (Чт) 11:24
Откуда: Russia

Сообщение seelts » 21.11.2004 (Вс) 11:55

в архиве недоделаная прога (поэтому прошу - не судите сильно), но с ехешником и с манифестом - у меня работает; и манифест к ваське - положите рядом с vb6.exe и наслаждайтесь.
в принципе так можно любую прогу отманифестить.
Вложения
manifest.zip
+vb6.exe.manifest
(750.39 Кб) Скачиваний: 106
если создать алгоритм, которым сможет пользоваться даже дурак, то только дурак и будет им пользоваться

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.11.2004 (Вс) 13:55

GSerg писал(а):Каким образом, кроме манифеста, можно вообще это сделать? Кроме манифеста методов не знаю

Это можно сделать, вызвав в Sub Main спец. функции подключения темы, которые (при наличии манифеста) вызываются загрузчиком WinXP.
Эти функции импортируются из (емнип) uxtheme.dll; пример их вызова тоже уже сюда кем-то постился.

См. также: http://www.mvps.org/emorcillo/vb6/grl/g ... onxp.shtml
Изображение

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 21.11.2004 (Вс) 17:01

tyomitch писал(а):
GSerg писал(а):Каким образом, кроме манифеста, можно вообще это сделать? Кроме манифеста методов не знаю

Это можно сделать, вызвав в Sub Main спец. функции подключения темы, которые (при наличии манифеста) вызываются загрузчиком WinXP.
Эти функции импортируются из (емнип) uxtheme.dll; пример их вызова тоже уже сюда кем-то постился.

См. также: http://www.mvps.org/emorcillo/vb6/grl/g ... onxp.shtml

что за uxtheme.dll? как её использовать?

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 21.11.2004 (Вс) 18:22

На listview из поставки vb ты с помощью uxtheme ничего не нарисуешь.. Лучше возьми с vbAccelerator'а нормальный listview

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.11.2004 (Вс) 18:37

xolod писал(а):На listview из поставки vb ты с помощью uxtheme ничего не нарисуешь.. Лучше возьми с vbAccelerator'а нормальный listview
С чего ты взял? Где захочу, там и нарисую. :evil:
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 21.11.2004 (Вс) 18:38

Во!
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 21.11.2004 (Вс) 18:44

Не, ну я не против конечно..
Дай заценить твой примерчик с объединением стиля XP и Microsoft Windows Common Control 6.0 (SP6) с помощью uxtheme.dll :lol:

зы: я ни в коем случае не посягаю на твои опыт и знания, просто интересно :wink:

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.11.2004 (Вс) 19:25

xolod, у меня такого примерчика нету, но по ссылке, которую я давал, показывали, как засабклассить графическую кнопку и отрисовывать её в стиле XP. Ты хоть сходил по ней?

А отрисовать имхо можно что угодно где угодно. Мне в свою очередь интересно, почему ты решил, что "на listview из поставки vb я с помощью uxtheme ничего не нарисую". :?:
Изображение

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 21.11.2004 (Вс) 20:03

Я по ссылочке не ходил, график бутон я рисовал еще даавно.. Но суть дела не в этом, кнопку отрисовать можно, а как ты chtckbox'ы отрисовывать будешь в listview..?

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.11.2004 (Вс) 20:30

DrawThemeIcon, вестимо...
Изображение

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 22.11.2004 (Пн) 12:50

Про использование манифестов (как писать и чё куда, я читал в журнале хакер за сентябь. описано всё).


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

    TopList