控件移动问题
窗体中CStatic *mystatic=new CStatic();
mystatic->Create后,如何在点击该控件并同时按住ctrl键后,能够拖动其在
对话框中移动?还请不吝赐教!
窗体中CStatic *mystatic=new CStatic();
mystatic->Create后,如何在点击该控件并同时按住ctrl键后,能够拖动其在
对话框中移动?还请不吝赐教!
解决方案 »
- 定义了 ::std::vector<int> m_nDeviceStat;然后 m_nDeviceStat.push_back(1);后,怎么读取?
- SelectObject与DeleteObject 释放资源问题?
- Usb Audio Device输入音量控制,高手帮忙啊,急急急!!!
- 貌似数据溢出了。。。
- Activex 如何访问 IIS 上的资源 -- 高手帮帮忙
- 紧急求助:用MSChart画曲线,曲线以生成,但在图上怎么用鼠标改以生成的曲线?MSChart支持吗?若不支持有别的控件吗?解决立即结帖,谢谢!
- 软件更改网络中其他pc机的IP地址?
- 请问用windows API 如何创建一个无模式的对话框?
- 一个简单变量传递问题,请大家帮帮忙
- XML变成中怎么判断一个节点是另外一个节点的父节点(msxml3)
- 救我——————如何求得一段wav的基频F0啊??
- 如何用activex实现可定制的面板~~~~~
首先要记录控件的区域 CRect rc;CDlg::OnLButtonDown
if (rc.PtInRect(pt))
{
m_bCapture = TRUE; //表示已经点中该控件
SetCapture();
}CDlg::OnMouseMove
{
if (m_bCapture)
{
控件.MoveWindow(...);
}
}CDlg::OnLButtonUp
{
m_bCapture = FALSE;
ReleaseCapture();
}
POINT m_ptOld;void CDragButton::OnLButtonDown(UINT nFlags, CPoint point)
{
m_ptOld = point;
ClientToScreen(&m_ptOld); CButton::OnLButtonDown(nFlags, point);
}void CDragButton::OnLButtonUp(UINT nFlags, CPoint point)
{
POINT ptNew = point;
ClientToScreen(&ptNew); if (ptNew.x != m_ptOld.x || ptNew.y != m_ptOld.y)
{
CRect rect;
GetWindowRect(&rect);
GetParent()->ScreenToClient(&rect);
rect.OffsetRect(ptNew.x - m_ptOld.x, ptNew.y - m_ptOld.y);
MoveWindow(&rect);
}
CButton::OnLButtonUp(nFlags, point);
}