现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

客户区对话框拖动操作

2012-09-01 06:22 工业·编程 ⁄ 共 490字 ⁄ 字号 评论 1 条

1.添加以下变量:

public:

bool m_bMouseDown;

POINT m_ptStart;

2.在构造函数中添加以下代码

m_bMouseDown=false;

3.响应WM_MOUSEMOVE,WM_LBUTTONDOWN,WM_LBUTTONUP消息.并添加以下代码

OnMouseMove(UINT nFlags,CPoint point)

{

......

if(m_bMouseDown)

{

RECT rect;

GetWindowRect(&rect);

OffsetRect(&rect,point.x-m_ptStart.x,point.y-m_ptStart.y);

MoveWindow(&rect,true);

}

}

OnLButtonDown(UINT nFlags,CPoint point)

{

m_bMouseDown=true;

SetCapture();

m_ptStart.x=point.x;

m_ptStart.y=point.y;

}

OnLButtonUp(UINT nFlags,CPoint point)

{

m_bMouseDown=false;

ReleaseCapture();

}

目前有 1 条留言    访客:0 条, 博主:0 条 ,引用: 1 条

    外部的引用: 1 条

    • 在VC++中实现无标题栏对话框的拖动 « 求索阁

    给我留言

    留言无头像?