Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > ListBox в главном окне


Автор: FantomaS19 30.4.2008, 18:27
Хочу сделать ListBox в главном окне(не в диалоге) программы
Проблема в том, что в карте сообщений в ON_LBN_DBLCLK() надо указать id этого листа.
Но в редакторе ресурсов его не создашь, и я создаю его динамически
Код

CMyListBox* p = new CMyListBox();
p->Create(...);

Пробовал в id передавать 0, естественно на клик не реагирует
Повторю еще раз ListBox надо создать в главном окне. Если это невозможно, посоветуйте, что можно сделать 
наподобие этого.

Заранее спасибо за ответы

Автор: nerdy_weirdie 2.5.2008, 05:40
Видимо, вам придется перехватывать вашим классом CMyListBox маусдаун и маусап, вычислять, был ли это даблклик, и соответственно на него реагировать...

Автор: FantomaS19 2.5.2008, 21:21
Маусап и маусдаун CListBox по идее не может перехватывать, а кто тогда будет ловить?Какой-то другой класс? Тогда будет плохая зависимость

Автор: nerdy_weirdie 2.5.2008, 23:25
Цитата(FantomaS19 @ 2.5.2008,  21:21)
Маусап и маусдаун CListBox по идее не может перехватывать, а кто тогда будет ловить?Какой-то другой класс? Тогда будет плохая зависимость

Любое окно может перехватить любое сообщение  smile 

Автор: nerdy_weirdie 2.5.2008, 23:42
Глянул в мсдн - есть же сообщение WM_MBUTTONDBLCLK
Как их перехватывать там тоже подробно расписано 

Автор: FantomaS19 3.5.2008, 08:52
Вопрос решен - при создании списка надо указывать стиль LBS_NOTIFY  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)