|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.01.2013, 01:27 | #1 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
MFC, CListCtrl и Колбэки
Привет!
Мне нужно повесить обработчик на CListCtrl на срабатывание WM_LBUTTONDBLCLK, с этим справился путем создания класса CMyListCtrl с унаследованием от CListCtrl. И там в MESSAGE_MAP() уже обработал. Если кто знает как обработать нажатие по CListCtrl из родительского фрейма, просьба поделиться кодом. Другая загвоздка, нужно как-то передать callback на обработчик WM_LBUTTONDBLCLK, который открывает диалог для изменения данных, которые будут браться из выделенного пункта в CListCtrl. Как это можно сделать? Просто не хочется каждый раз для разных фреймов делать отдельную копию CListCtrl со своими обработчиками. Задача которая преследуется: В CListCtrl выводятся данные из БД, то есть этот лист - справочник в БД. По двойному щелчку открывается форма с данными с выбранной позиции. Так как справочники разношерстные и не хочется делать кучу копий CListCtrl, подумалось сделать один, но с колбэком под конкретный формат справочника. Еще просьба, если кто знает как сделать это без создания разных дочерних классов для каждого конкретного справочника, и в последствии документа, поделитесь мыслями и кодом. Спасибо! |
13.01.2013, 10:30 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
ДОбавьте в свой CListCtrl указатель на функцию, которую надо вызыать при том или ином событии ну и для разных типов меняйте эту функцию... Ну, т.е. сделайте свой callback.
Не совсем понятно нежелание наследовать класс - сделайте CBaseListCtrl чтоб реагировал на dblclick вызывом виртуального метода куда будет передавать скажем индекс текущей строки а потом в наследниках только меняйте имплементацию этого метода. |
13.01.2013, 16:43 | #3 | ||
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
Цитата:
Цитата:
Спасибо! P.S. Вопрос о том, как сделать подобие MMC консоли, только не такой универсальной, а в области одной программы, остается открытый. upd Нашел способ повесить обработчик непосредственно на CListCtrl в MESSAGE_MAP Код:
Код:
Последний раз редактировалось psycho-coder; 13.01.2013 в 17:41. |
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Drag&Drop NO MFC! NO MFC! | Антоним | Win Api | 1 | 12.11.2012 21:43 |
Различие кода mfc и WinApi(mfc ручками набили, а WinApi автоматически с генерировался!! нужно явное отличие, не могу найти) | Артём1991 | Помощь студентам | 0 | 25.03.2012 17:13 |
MFC | sir.andrey | Обсуждение статей | 0 | 21.08.2011 14:11 |
MFC | BioS | Win Api | 2 | 19.04.2010 17:52 |
MFC | Diman2008 | Visual C++ | 2 | 06.03.2008 16:24 |