Re[2]: пользовательское сообщение
От: Dancer Россия  
Дата: 05.04.02 08:22
Оценка:
Здравствуйте Кирпа В.А., Вы писали:

КВ>Здравствуйте 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


Но однако работать не стало. Может, я еще чего забыл?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.