void CDemoDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
m_bMoving = TRUE;
SetCapture();
m_ptMouse = point;
CDialogEx::OnLButtonDown(nFlags, point);
}
//void CDemoDlg::OnMoving(UINT fwSide, LPRECT pRect)
//{
// CDialogEx::OnMoving(fwSide, pRect);
//
// // TODO: 在此处添加消息处理程序代码
//}
void CDemoDlg::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(m_bMoving)
{
int x,y;
x = point.x - m_ptMouse.x;
y = point.y - m_ptMouse.y;
if(abs(x) >= 2 || abs(y) >= 2)
{
RECT rc = {0};
GetWindowRect(&rc);
OffsetRect(&rc,x,y);
MoveWindow(&rc,TRUE);
}
}
CDialogEx::OnMouseMove(nFlags, point);
}
void CDemoDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(m_bMoving)
{
m_bMoving = FALSE;
ReleaseCapture();
}
CDialogEx::OnLButtonUp(nFlags, point);
}
void CDemoDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
{
CDialogEx::OnActivate(nState, pWndOther, bMinimized);
if(nState == WA_INACTIVE && m_bMoving)
{
m_bMoving = FALSE;
ReleaseCapture();
}
// TODO: 在此处添加消息处理程序代码
}