Захотелось мне как то использовать PostMessage(MYMSG) для кое каких нужд, ну и решил попробовать нацчиться слать пользовательские сообщения, для этого:
Обявляю глобальную переменную:
int MYMSG;
В CMyDlg объявляю:
afx_msg void onMYMSG();
Ну и реализация
void CMyDlg::onMYMSG()
{
MessageBox("Hello");
}
В Message Map добавляю
ON_REGISTERED_MESSAGE(MYMSG, onMYMSG)
И уже компилируя на этом этапе получаю: (Это и MS Visual Studio .NET 2003 и 6.0 говорят)
error C2440: 'static_cast' : cannot convert from 'void (__thiscall CMyDlg::* )(void)' to 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'
А вроде следoвал указаниям... Помогите разобраться?
Чтоб компилятор не ругался нужно сделать так:
afx_msg LRESULT onMYMSG(WPARAM, LPARAM);
LRESULT CMyDlg::onMYMSG(WPARAM, LPARAM)
{
MessageBox("Hello");
return 0;
}
Здравствуйте, __INFINITE, Вы писали:
__I>Захотелось мне как то использовать PostMessage(MYMSG) для кое каких нужд, ну и решил попробовать нацчиться слать пользовательские сообщения, для этого:
__I>Обявляю глобальную переменную:
__I>int MYMSG;
__I>В CMyDlg объявляю:
__I>afx_msg void onMYMSG();
__I>Ну и реализация
__I>void CMyDlg::onMYMSG()
__I>{
__I>MessageBox("Hello");
__I>}
__I>В Message Map добавляю
__I>ON_REGISTERED_MESSAGE(MYMSG, onMYMSG)
__I>И уже компилируя на этом этапе получаю: (Это и MS Visual Studio .NET 2003 и 6.0 говорят)
__I>error C2440: 'static_cast' : cannot convert from 'void (__thiscall CMyDlg::* )(void)' to 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'
__I>А вроде следoвал указаниям... Помогите разобраться?
По моему компилятор очень вразумительно тебе ответил
afx_msg LRESULT onMYMSG(WPARAM wParam, LPARAM lParam)
{
MessageBox("Hello");
return 0;
}