Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как в WTL создать COwnerDrawListBox?

1.9K
21 сентября 2004 года
HEvgA
49 / / 16.09.2004
Здравствуйте.
Начал изучать WTL. Хочу создать с помощью него контрол следующего характера.

Имеется ListBox, разделен на несколько колонок (для простоты пусть будет статическое число колонок, 3 шт.), в первом столбце находится просто текст, во втором тоже текст, но на активной строке в ячейке отображается ComboBox, и спомощью него можно выбирать значение ячейки в этом столбце, третий столбец тоже имеет данные строкового типа но на активной строке в этом столбце отображается Edit, что позволяет вводить текст с клавиатуры для этой ячейки.

Прорисовывать и разбивать на части ListBox особого труда не составило, а вот как туда добавить еще контроллы, в частном случае ComboBox и Edit. Может кто нибудь создавал собственные контроллы в WTL, подскажите как ПРАВИЛЬНО реализовать это.
1.9K
21 сентября 2004 года
HEvgA
49 / / 16.09.2004
Дарова всем еще раз.
Кое-че вот тута сделал (см. вложение), как сделать чтоб Edit и ComboBox нормально прорисовывались, при выборе линий в ListBox все становятся туда куда надо вот только не прорисовываются нормально.
3
22 сентября 2004 года
Green
4.8K / / 20.01.2000
Да, задача нетривиальная...
Не делал именнно такой контрол, но я бы подошел следующим образом:
1. Использовал бы CListViewCtrl, как базу.
1. Посмотрел может ли помочь мне стиль LVS_EDITLABELS
2. Нарисовать ячейку с кнопкой в углу не составляет проблем. Для этого надо лишь использовать DrawState и DrawText в обработчике CustomDraw.
3. Выпадающий список придется рисовать, как дочернее окно поверх list-a после его перерисовки
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог