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

Ваш аккаунт

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

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

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

Как "научить" класс CDocument реагировать на WM_СООБЩЕНИЕ?

20K
24 августа 2007 года
krist
33 / / 09.08.2007
Привет!
Может вопрос немного и дилетантский, но в инете внятного ответа я так и не нашел.
В свойствах класса CDocument в MSVS 2005 возможность создания функции-реакции (типа OnLButtonDown для CView) на сообщение средствами VStudio отсутствует.
Т.е. задача: определенный класс посылает сообщение о получении данных с COM порта, в CDocument нужно их обработать и выдать через класс CScrollView в виде графа.
Может с другим классом можно это реализовать? Но вроде бы для этого и существует архитектура Document - View.

За любую инфу премного благодарен.
12K
24 августа 2007 года
__AleXX__
133 / / 02.04.2007
Привет!

попробуй вариант такой:

определи константу, вроде:
const int WM_MYNOTIFY = WM_USER + 123; // константа сообщения

пропиши в месс мапе:
ON_MESSAGE(WM_MYNOTIFY, OnMyNotify)
таким образом ты свяжешь сообщение с методом обработчиком.

определи функцию:
void OnMyNotify(WPARAM wParam, LPARAM lParam)
где будешь обрабатывать сообщение.

Может что-то забыл, не стесняйся, спрашивай :)
355
24 августа 2007 года
<SCORP>
786 / / 21.10.2006
только LRESULT OnMyNotify(....) -- раз
а во-вторых, и самое главное, это сообщение должен кто-то посылать :)
20K
24 августа 2007 года
krist
33 / / 09.08.2007
Сделал так:
 
Код:
BEGIN_MESSAGE_MAP(CSerialTestDoc, CDocument)
    ON_MESSAGE(WM_COMM_RXCHAR, OnCommunication)
END_MESSAGE_MAP()


получаю ошибку:
Цитата:
error C2440: 'static_cast' : cannot convert from 'LRESULT (__thiscall CSerialTestDoc::* )(WPARAM,LPARAM)' to
'LRESULT (__thiscall CWnd::*)(WPARAM,LPARAM)'

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог