MFC单文档如何实现客户区拖动窗口

就是单击点着客户区能像点着标题栏一样拖动窗口。别人告诉我用OnNcHitTest函数。。但是这个函数是非客户区点击测试。只响应标题栏和菜单栏。不会响应客户区。求教。... 就是单击点着客户区能像点着标题栏一样拖动窗口。别人告诉我用OnNcHitTest函数。。但是这个函数是非客户区点击测试。只响应标题栏和菜单栏。不会响应客户区。求教。 展开
 我来答
bhtzu
2013-09-26 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4152万
展开全部
单文档程序,和对话框程序有所不同,你在客户区的点击,不是被框架窗口接收,而是被View类接收了,因此才会出现你现在的效果。
OnNcHitTest函数,是巧用,不需要自己做处理,只是模拟了标题栏的响应,但窗口不同就不能这样做了。我觉得,只能是自己在View类的OnMouseMove里面通过AfxGetMainWnd()->MoveWindow这样的方式来实现吧。
更多追问追答
追问
有代码吗?谢谢
追答
没人这么做过,呵呵
没现成代码,我估计网上也没有,你自己试试吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
归悦欣cf
2013-09-27 · TA获得超过1443个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1309万
展开全部
这是对话框的代码

UINT CTestMusicDlg::OnNcHitTest(CPoint point)
{
// TODO: Add your message handler code here and/or call default
CRect rc;

GetClientRect(&rc);

rc.bottom=50;

ClientToScreen(&rc);

return rc.PtInRect(point) ? HTCAPTION : CDialog::OnNcHitTest(point);

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式