VC窗口拖动的的问题?
我用MFC对话框写了一个软件,实现窗口拖动的时候重载了OnNcHitTest,但是问题出来了,就是光标在客户区的任何位置都可以拖动窗口,我想要的是光标只在客户区顶端才能拖动窗口,该怎样办??(我隐藏了对话框的标题栏,在客户区上贴图、自绘按钮)
以下是我的源码:
LRESULT CAdDlg::OnNcHitTest(CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CRect rect;
GetClientRect(&rect);
if(rect.PtInRect(point))
{
return HTCAPTION;
}
else
{
return CDialogEx::OnNcHitTest(point);
}
}
追问:请不要骗分好不好
答案:GetClientRect(&rect);
rect.top-=SIZE;//SIZE就是你说的客户端顶端的大小
if(rect.PtInRect(point))
其他:我的程序界面中有几个listctrl控件,由于窗口要显示的内容比较多,所以窗口刚这个问题的确诡异,我还没碰到过这种问题。我想是这么回事,拖动对话框的VS 你写反了吧。point在客户区里你却返回了HTCAPTION 在函数中判断一下point,只有在顶端才能拖动,否则直接返回
上一个:求用vc写的模拟烟花效果的源代码
下一个:VC++编译的程序出现 MFC42D.DLL