BEGIN_MESSAGE_MAP(CSerialTestDoc, CDocument)
ON_MESSAGE(WM_COMM_RXCHAR, OnCommunication)
END_MESSAGE_MAP()
Как "научить" класс CDocument реагировать на WM_СООБЩЕНИЕ?
Может вопрос немного и дилетантский, но в инете внятного ответа я так и не нашел.
В свойствах класса CDocument в MSVS 2005 возможность создания функции-реакции (типа OnLButtonDown для CView) на сообщение средствами VStudio отсутствует.
Т.е. задача: определенный класс посылает сообщение о получении данных с COM порта, в CDocument нужно их обработать и выдать через класс CScrollView в виде графа.
Может с другим классом можно это реализовать? Но вроде бы для этого и существует архитектура Document - View.
За любую инфу премного благодарен.
попробуй вариант такой:
определи константу, вроде:
const int WM_MYNOTIFY = WM_USER + 123; // константа сообщения
пропиши в месс мапе:
ON_MESSAGE(WM_MYNOTIFY, OnMyNotify)
таким образом ты свяжешь сообщение с методом обработчиком.
определи функцию:
void OnMyNotify(WPARAM wParam, LPARAM lParam)
где будешь обрабатывать сообщение.
Может что-то забыл, не стесняйся, спрашивай :)
а во-вторых, и самое главное, это сообщение должен кто-то посылать :)
Код:
получаю ошибку:
Цитата:
error C2440: 'static_cast' : cannot convert from 'LRESULT (__thiscall CSerialTestDoc::* )(WPARAM,LPARAM)' to
'LRESULT (__thiscall CWnd::*)(WPARAM,LPARAM)'
'LRESULT (__thiscall CWnd::*)(WPARAM,LPARAM)'