vs08中,用VC++进行开发时,在处理自定义消息及响应函数的过程中出现以下error:
无法从“void (__thiscall CMainFrame::* )(BYTE *,BOOL *)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM) 解决办法: 返回值改成LRESULT,同时给自定义消息响应函数增加两个形参:(WPARAM,LPARAM ),消息响应函数中返回 true. 注:自定义消息的返回值为LRESULT 类型
例:
LRESULT CMainFrame::OnProgress(WPARAM wparam,LPARAM lparam )
{ CRect rect; m_wndStatusBar.GetItemRect(2,&rect);
m_progress.Create(WS_CHILD|WS_VISIBLE,rect,&m_wndStatusBar,123);
m_progress.SetPos(50); return true; } |