Невозможно связать afx_msg в BEGIN_MESSAGE_MAP

Я пытаюсь подключиться к функции OnSysCommand , но получаю сбивающую с толку ошибку.

В заголовке я объявляю такую ​​функцию:

afx_msg void OnSysCommand(UINT nID, LPARAM lParam );

А в cpp код:

BEGIN_MESSAGE_MAP(CMFCTest1App, CWinAppEx)
 ON_COMMAND(ID_APP_ABOUT, &CMFCTest1App::OnAppAbout)
 // Standard file based document commands
 ON_COMMAND(ID_FILE_NEW, &CWinAppEx::OnFileNew)
 ON_COMMAND(ID_FILE_OPEN, &CWinAppEx::OnFileOpen)
 ON_WM_SYSCOMMAND()
END_MESSAGE_MAP()

void CMFCTest1App::OnSysCommand(UINT nID, LPARAM lParam )
{
 AfxMessageBox(L"System command recieved");
}

При компиляции я получаю следующее сообщение об ошибке:

1>  MFCTest1.cpp
1>c:\users\dell3\documents\visual studio 2010\projects\mfctest1\mfctest1\mfctest1.cpp(43): error C2440: 'static_cast' : cannot convert from 'void (__thiscall CMFCTest1App::* )(UINT,LPARAM)' to 'void (__thiscall CWnd::* )(UINT,LPARAM)'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>
1>Build FAILED.

То же самое происходит, когда я пытаюсь подключиться к функция OnClose . Любые предложения будут высоко ценится. Спасибо.

1
задан Chris Krycho 28 April 2015 в 18:19
поделиться