![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Курсант |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Всем здравствуйте. Есть вопрос. Столкнулся с необходимостью писать свой контрол. Вопрос - как это делать, то ли регистрацией нового класса окна, то ли созданием класса в си ++, который уже сам будет заниматься визуализацией и регистрацией классов.. И вообще, можно ли регистрировать классы окон типа элемент управления. Собственно все, спасибо за внимание..
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Это сильно зависит от того ГДЕ и КАК вы собираетесь этот контрол применять. Наиболее универсальным будет сделать ActiveX control
|
|||
|
||||
| Курсант |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Контрол собираюсь использовать в приложении для винды и для вин мобайл надо будет использовать, но не суть. Думаю для начала не стоит обнимать необъятное, и сделать не универсально, а для тренировки, только вопрос, можно ли регистрировать класс окна для контрола или нет? Хочу замесить все на сообщениях, надоели объекты и методы уже... и примерчик бы
|
|||
|
||||
| xvr |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Как раз суть - в голых Win32 API или в каком нибудь framework'е?
|
||||||||
|
|||||||||
| Курсант |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Благодарю
|
|||
|
||||
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Неа. Пишите сразу ActiveX на каком нибудь framework'е (рекомендую ATL) Любой контрол можно написать на API, но если он будет хоть чуть сложнее 'Hello world', то вся API машинерия может полностью поглотить логику самого контрола. Так сказать - 'за деревьями не видно леса'
|
||||
|
|||||
| Курсант |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Спасибо за ответы
|
|||
|
||||
| Курсант |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Про рисование вопрос к тому, что у меня расположение объектов систематизировано, и я по координатам щелчка мыши могу определить, по какому объекту щелкнули. А винда видимо будет искать какой дочерний эл-т получил то или иное событие, дочерний будет посылать сообщения своим контейнерам, и так далее.. Вот я и думаю, что может просто нарисовать..
Добавлено через 3 минуты и 51 секунду Папа карло вспоминается, за нарисованным камином |
|||
|
||||
| xvr |
|
||||||||||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Настоятельно рекомендую найти, хотя бы в виде книги
|
||||||||||||||||
|
|||||||||||||||||
| Курсант |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Делать собираюсь гибрид treeview и listbox, с раскрывающимися группами, тремя столбцами для отображения количества подэлементов трех разных категорий в элементах, и в этих же столбцах, если в строке не элемент а группа, отображается количество подэлементов всех элементов группы. Еще и подсветка будет при наведении мыши как в опера мини..
|
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
не понятно, начиная с момента про столбцы, по-моему, это лучше нарисовать -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Курсант |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Типа такого, в столбцах численные значения.
Присоединённый файл ( Кол-во скачиваний: 21 )
IMG0218A.jpg 498,51 Kb |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Это относительно легко делается из самого treeview (через его OwnerDraw) Я видел несколько реализаций этого в рамках VCL (для Delphi). Идеи можно взять оттуда |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
на первый взгляд - это listview с owner-draw, т.к. от него больше элементов, в частности - колонки
да и саму древовидную структуру рисовать проще на listview, чем воспроизводить разметку колонок на treeview вобщем - listview, причем где-то такое я уже видел, и почему-то мне представляется древняя 1c, или 5-я си, может из-за этих самых скруглений кстати, про набросок: я не конкретно это имел ввиду, но получилось отлично, зачот! -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Рисовать дерево может и проще, а вот обслуживать его (раскрытие и схлопывание уровней и все, что с этим связанно) может и не проще. Про колоночную структуру - согласен, на treeview ее делать непросто. Но ее можно и не делать - если можно обойтись без вертикальных линий, то все будет очень просто (из treeview). Если же без них никак - то из listview действительно получится проще |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |