移动窗体的函数,在窗体的WM_LBUTTONDOWN消息中,响应下面的函数
void CmyDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
SendMessage(WM_NCLBUTTONDOWN,
HTCAPTION,
MAKELPARAM(point.x,point.y));/*把消息发送到非客户区,使窗体认为是拖动了标题栏,所以窗体会跟着鼠标拖动*/
CDialog::OnLButtonDown(nFlags, point);
}
void CmyDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
SendMessage(WM_NCLBUTTONDOWN,
HTCAPTION,
MAKELPARAM(point.x,point.y));/*把消息发送到非客户区,使窗体认为是拖动了标题栏,所以窗体会跟着鼠标拖动*/
CDialog::OnLButtonDown(nFlags, point);
}http://www.cppblog.com/ght21/archive/2007/01/12/17556.aspx?opt=admin
::SetCursor(LoadCursor(NULL, IDC_WAIT));
箭头
::SetCursor(LoadCursor(NULL, IDC_ARROW));
箭头
::SetCursor(LoadCursor(NULL, IDC_ARROW));
本文介绍了一种在Windows应用程序中实现窗体拖动的方法。通过重写OnLButtonDown函数并发送WM_NCLBUTTONDOWN消息到非客户区,使得即使在没有传统标题栏的情况下也能通过鼠标拖动窗体。


MAKELPARAM(point.x,point.y));
2859

被折叠的 条评论
为什么被折叠?



