Здравствуйте Кирпа В.А., Вы писали:
КВ>Здравствуйте Dancer, Вы писали:
D>>Как добавить в программу обработчик к-л пользовательского сообщения? Я сделал так:
D>>добавляю к классу диалога метод
D>>D>>LONG CFractalDlg::OnThreadRedraw(UINT wParam, LONG lParam)
D>>{ ...
D>> return 0;
D>>}
D>>
D>>а Сlass Withard сам добавляет ее описание в h-файл диалога, но не туда, где остальные обработчики описаны, а просто как public, например.
D>>Но когда я делаю PostMessage из другого потока, сообщение этой функцией не перехватывается, хотя основной процес сообщение получает, я проверял GetMessage.
D>>В чем тут может быть дело?
КВ>А в карту сообщений добавить все-равно надо
КВ>ON_MESSAGE(WM_USER + ..., OnThreadRedraw)
А куда это добавлять надо?
Вставил в срр-файл диалога
BEGIN_MESSAGE_MAP(CFractalDlg, CDialog)
//{{AFX_MSG_MAP(CFractalDlg)
ON_WM_SYSCOMMAND()
...................
ON_MESSAGE(WM_USER+5, OnThreadRedraw)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
в h-файл вставил прототип:
//{{AFX_MSG(CFractalDlg)
virtual BOOL OnInitDialog();
...
afx_msg LONG OnThreadRedraw(UINT wParam, LONG lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
Там же
#define WM_THREADREDRAW WM_USER + 5
Но однако работать не стало. Может, я еще чего забыл?