子对话框响应WM_MOUSEMOVE消息的有关问题
子对话框响应WM_MOUSEMOVE消息的问题
vc++下新建了对话框应用程序,在这个对话框初始化的时再创建一个子对话框,在这个子对话框上显示一张BMP图片。
现在我想完成的功能是:在这张图片上移动鼠标,在主对话的俩个EDIT控件上显示鼠标的x,y坐标。
------解决方案--------------------
在子对话框的窗口例程中相应消息
------解决方案--------------------
1.在CBrownBMPDlg上添加WM_MOUSEMOVE消息;
2.在CBrownBMPDlg::OnMouseMove(CPoint pt)
{
CString strX;
CString strY;
strX.Format(_T("%d"),pt.x);
strY.Format(_T("%d"),pt.y);
m_editXpt.SetWindowText(strX);//m_edit是CEdit控件的成员变量
m_editYpt.SetWindowText(strY);
}
------解决方案--------------------
窗口关系是:
主对话框-》子对话框-》m_bmp
edit x,y mouse
所以 m_bmp 要 getparent 2次 才 到 主对话框。
------解决方案--------------------
waver601@sohu.com 请在标题注明csdn网友
vc++下新建了对话框应用程序,在这个对话框初始化的时再创建一个子对话框,在这个子对话框上显示一张BMP图片。
BOOL CBrownBMPDlg::OnInitDialog()
{
CDialog::OnInitDialog();
................
//创建子对话框
m_BrownDlg.Create(IDD_BMPDLG_DIALOG,this);
CRect rect,framerect;
m_BrownDlg.GetClientRect(rect);
m_Frame.GetClientRect(framerect);
m_Frame.MapWindowPoints(this,framerect);
m_BrownDlg.MoveWindow(framerect);
m_BrownDlg.ShowWindow(SW_SHOW);
m_Bmp.SetParent(&m_BrownDlg);
CRect bmprect;
m_Bmp.GetClientRect(bmprect);
m_Bmp.MoveWindow(0,0,bmprect.Width(),bmprect.Height());
return TRUE; // return TRUE unless you set the focus to a control
}
现在我想完成的功能是:在这张图片上移动鼠标,在主对话的俩个EDIT控件上显示鼠标的x,y坐标。
子对话框 消息 WM_MOUSEMOVE
vc++
------解决方案--------------------
在子对话框的窗口例程中相应消息
------解决方案--------------------
1.在CBrownBMPDlg上添加WM_MOUSEMOVE消息;
2.在CBrownBMPDlg::OnMouseMove(CPoint pt)
{
CString strX;
CString strY;
strX.Format(_T("%d"),pt.x);
strY.Format(_T("%d"),pt.y);
m_editXpt.SetWindowText(strX);//m_edit是CEdit控件的成员变量
m_editYpt.SetWindowText(strY);
}
------解决方案--------------------
窗口关系是:
主对话框-》子对话框-》m_bmp
edit x,y mouse
所以 m_bmp 要 getparent 2次 才 到 主对话框。
------解决方案--------------------
waver601@sohu.com 请在标题注明csdn网友