BOOL CcontrolTestDlg::PreTranslateMessage(MSG* pMsg) { // TODO: 在此添加专用代码和/或调用基类 if (pMsg->message ==WM_MOUSEMOVE) { ::PostMessageA(this->m_hWnd,WM_MOUSEMOVE,NULL,NULL); } if (pMsg->message==WM_LBUTTONDOWN) { ::PostMessageA(this->m_hWnd,WM_LBUTTONDOWN,NULL,NULL); } return CDialogEx::PreTranslateMessage(pMsg); } void CcontrolTestDlg::OnMouseMove(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 MessageBox("OnMouseMove"); CDialogEx::OnMouseMove(nFlags, point); } void CcontrolTestDlg::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 MessageBox("OnLButtonDown"); CDialogEx::OnLButtonDown(nFlags, point); }
这两个消息是不会同时发生的 一般是在WM_LBUTTONDOWN中设置一个按下标识 然后再WM_MOUSEMOVE判断这个标识 当然还要在WM_LBUTTONUP中清除
15,979
社区成员
115,896
社区内容
加载中
试试用AI创作助手写篇文章吧