当前位置:编程学习 > VC++ >>

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

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,