error C2440: 'type case' : cannot convert from 'void (__thiscall_CDiagramWindow::*)(void)' to 'void (__thiscall wxEvtHandler::*)(class wxCommandEvent &)'
I only get this on EVT_PAINT and EVT_MENU events, but not in all classes, just two of them. Is there something flakey regarding MSVC and event handlers? All of my handlers are pretty vanilla. The only thing I can see is that one of the classes that isn't working uses multiple inheritance. However, the other one doesn't, and it still isn't working.
Below is one of the ones that isn't working:
class CDiagramWindow : public wxScrolledWindow { public: /* stuff */ private: DECLARE_DYNAMIC_CLASS(CDiagramWindow) DECLARE_EVENT_TABLE() };
IMPLEMENT_DYNAMIC_CLASS(CDiagramWindow, wxScrolledWindow)
BEGIN_EVENT_TABLE(CDiagramWindow, wxScrolledWindow) EVT_CHAR(CDiagramWindow::OnChar) EVT_RIGHT_UP(CDiagramWindow::OnRightClick) EVT_LEFT_DOWN(CDiagramWindow::OnLeftDown) EVT_MENU(ID_NEW_TABLE, CDiagramWindow::OnNewTable) EVT_MENU(ID_SELECT_COLOR, CDiagramWindow::OnSelectColor) EVT_MENU(ID_DELETE_KEY, CDiagramWindow::OnDeleteKey) EVT_PAINT(CDiagramWindow::OnPaint) EVT_MOTION(CDiagramWindow::OnMotion) END_EVENT_TABLE()
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings