读书人

子对话框响应WM_MOUSEMOVE消息的有关问

发布时间: 2013-01-23 10:44:49 作者: rapoo

子对话框响应WM_MOUSEMOVE消息的问题
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网友

读书人网 >VC/MFC

热点推荐