Об использовании в VB6 элементов управления из comctl32.dll

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
jSergey
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 01.09.2005 (Чт) 6:34

Об использовании в VB6 элементов управления из comctl32.dll

Сообщение jSergey » 28.10.2005 (Пт) 7:40

Может кто подскажет где найти информацию по использованию в проектах на VB6 элементов
управления из comctl32.dll, таких, как SysDateTimePick32, SysTreeView32, SysListView32
и т.п. (желательно на русском, но и и на английском тоже лучше чем ничего)?
Все они по тем или иным причинам превосходят соответствующие Microsoft Windows Common Controls
(находящиеся в файлах *comct*.ocx).
Знаю я, допустим, как вставить такой элемент в форму (функции CreateWindowEx, InitCommonControlsEx).
А как работать с его свойствами, методами, событиями? Какие они бывают, что делают (методы),
какие значения могут принимать и что определяют (свойства), когда генерируются те или иные события?
Было бы также хорошо, если бы кто-то дал пример кода использования такого элемента управления
или ссылку на него.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 28.10.2005 (Пт) 7:44

А чем превосходят?
То немногое, что не реализовано в ActiveX, можно добавить вручную.
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение tyomitch » 28.10.2005 (Пт) 15:45

jSergey, кажись на vbaccelerator.com такое было.
Изображение

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 28.10.2005 (Пт) 15:58

2jSergey - запаришся на VB несредственно с comctl32.dll работать. Уже пробовал... И, кстати, свойств и у них в классическом понимании VB нет.
То, что для одних константа, для других только переменная...

jSergey
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 01.09.2005 (Чт) 6:34

Сообщение jSergey » 29.10.2005 (Сб) 7:49

alibek писал(а):А чем превосходят?

Ну, например.
В SysDateTimePick32 слово "Сегодня" оно и есть "Сегодня", а в DTPicker
из Microsoft Windows Common Controls-2 6.0 (SP6) (MSCOMCT2.OCX) оно "Today" и изменить
его на "Сегодня" (хотел это сделать, используя ф-ции GetWindowText и SetWindowText, но
Handle окна с Caption="Today:*" найти никак не удалось) у меня не получилась. Короче говоря,
знаю только один способ поменять "Today" на "Сегодня", да и тот совершенно варварский:
редактором ресурсов отредактировать соответствующим образом MSCOMCT2.OCX. Если кто знает
более цивилизованный способ - просьба сообщить, буду премного благодарен. Ещё. При показе
календаря если щелкнуть по нему правой кнопкой мыши в случае SysDateTimePick32 появляется
PopUp-меню из одного пункта "К сегодняшней дате" и всё зависит от дальнейших действий
пользователя. В случае же с DTPicker сразу же происходит закрытие окна календаря без
изменения ранее установленной даты, т.е. щелчок правой кнопки мыши в DTPicker обрабатывается
некорректно.
В SysListView32 есть такой режим отображения элементов списка: эскизы страниц,
в ListView из Microsoft Windows Common Controls 6.0 (SP6) (MSCOMCTL.OCX) такого
режима отображения нет.
Ещё о преимуществах SysListView32 перед ListView можно прочитать, например, по ссылке:
http://www.relib.com/forums/thread879080.aspx

На vbaccelerator.com заходил, смотрел немного. Там информация действительно есть, но
всё на английском, информация разрознена и чтобы найти то что нужно надо немало потрудиться.

А в целом и общем внял я совету Odrick (я, честно говоря, и сам об этом раньше подозревал).
В сысле, что работать на VB непосредственно с comctl32.dll неоправданно сложно.
И если всё же возникает в этом острая необходимость, то легче, наверное, будет
воспользоваться для этого другим языком программирования, чем париться на VB.

Спасибо всем, кто ответил на мой вопрос.

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

Сообщение tyomitch » 29.10.2005 (Сб) 12:00

jSergey писал(а):В SysDateTimePick32 слово "Сегодня" оно и есть "Сегодня", а в DTPicker
из Microsoft Windows Common Controls-2 6.0 (SP6) (MSCOMCT2.OCX) оно "Today" и изменить
его на "Сегодня" (хотел это сделать, используя ф-ции GetWindowText и SetWindowText, но
Handle окна с Caption="Today:*" найти никак не удалось) у меня не получилась. Короче говоря,
знаю только один способ поменять "Today" на "Сегодня", да и тот совершенно варварский:
редактором ресурсов отредактировать соответствующим образом MSCOMCT2.OCX. Если кто знает
более цивилизованный способ - просьба сообщить, буду премного благодарен.

Воспользоваться Microsoft Windows Common Controls-2 5.0


jSergey писал(а):На vbaccelerator.com заходил, смотрел немного. Там информация действительно есть, но
всё на английском, информация разрознена и чтобы найти то что нужно надо немало потрудиться.

Там есть Site Map.
Изображение

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 29.10.2005 (Сб) 17:45

Можно воспользоваться исходниками с сайта:
http://ccrp.mvps.org/
Там есть многие Common Controls.
Моду создают модоки, а распространяют модозвоны.

jSergey
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 01.09.2005 (Чт) 6:34

Сообщение jSergey » 30.10.2005 (Вс) 7:42

tyomitch писал(а):Воспользоваться Microsoft Windows Common Controls-2 5.0

А где его можно взять? Что-то нигде не нашел библиотеку 5-ой версии, содержащую DTPicker. Нашел DTPicker только в Microsoft Windows Common Controls-2 6.0 (SP6) (MSCOMCT2.OCX). А как в 5-ой версии называется файл, содержащий DTPicker? Тоже MSCOMCT2.OCX?
Или там контрол по-другому называется?

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

Сообщение tyomitch » 30.10.2005 (Вс) 12:10

jSergey писал(а):
tyomitch писал(а):Воспользоваться Microsoft Windows Common Controls-2 5.0

А где его можно взять? Что-то нигде не нашел библиотеку 5-ой версии, содержащую DTPicker. Нашел DTPicker только в Microsoft Windows Common Controls-2 6.0 (SP6) (MSCOMCT2.OCX). А как в 5-ой версии называется файл, содержащий DTPicker? Тоже MSCOMCT2.OCX?
Или там контрол по-другому называется?

Опростоволосился. Молчу. :oops: :oops:
Изображение

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

Сообщение GSerg » 30.10.2005 (Вс) 13:42

DTPicker я писал :roll:
Только он без многих событий типа запроса строки форматирования, потому что они мне были не нужны...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

pitbull
Постоялец
Постоялец
 
Сообщения: 314
Зарегистрирован: 25.06.2004 (Пт) 15:37
Откуда: Кемерово

Сообщение pitbull » 30.10.2005 (Вс) 20:29

А я помню скачивал с vbacceselaror `a и ни капли не обламывался.
Правда для использования treeview и listview приходилось еще пару их библиотек таскать, но ничего. У них фичей поболе было, да и пользоваться ими было поудобней малек.

jSergey
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 01.09.2005 (Чт) 6:34

Сообщение jSergey » 31.10.2005 (Пн) 7:09

GSerg писал(а):DTPicker я писал

А его можно где-то взять, посмотреть? И, кстати, насчёт его задавался вопрос на форуме?
http://bbs.vbstreets.ru/viewtopic.php?p ... 5edc67138c

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

Сообщение GSerg » 31.10.2005 (Пн) 12:56

Да, насчёт него. Приведён отрывок из callback :)
Взять пока негде - не выкладывал, ибо по сравнению с контролом у него гораздо меньше функционала (мне было не нужно).
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


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

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

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

    TopList