MFC编程窗口实现拖动? 10

我用MFC对话框写了一个软件,实现窗口拖动的时候重载了OnNcHitTest,无法实现窗口拖动,我是自绘菜单栏,最大化、关闭这些都已经实现了,贴图做的。现在这个拖动没有作... 我用MFC对话框写了一个软件,实现窗口拖动的时候重载了OnNcHitTest,无法实现窗口拖动,我是自绘菜单栏,最大化、关闭这些都已经实现了,贴图做的。现在这个拖动没有作用,

LRESULT CMFCApplication12View::OnNcHitTest(CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CRect rect;
GetDlgItem(IDC_BIANKUANG)->GetClientRect(&rect);
//IDC_BIANKUANG 是一个静态文本框,想作为边框,点击它能实现拖动。
if(rect.PtInRect(point))
{
return HTCAPTION;
}
else
{
return CFormView::OnNcHitTest(point);

}
}
这个也是网上看的东西,没法实现,点击没反应,这个View是从Cformview派生的。
希望给个解答,分全给了
展开
 我来答
paradise300
2014-04-14 · TA获得超过3561个赞
知道大有可为答主
回答量:2589
采纳率:84%
帮助的人:503万
展开全部

尝试处理左键按下的方法:

void CXXX::OnLButtonDown(UINT nFlags, CPoint point)
{
 // TODO: 在此添加消息处理程序代码和/或调用默认值
 PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y));
 CDialog::OnLButtonDown(nFlags, point);
}

 或者是通过判断左键按下消息,然后再处理WM_MOUSEMOVE消息。

更多追问追答
追问

试过了 ,只是客户区内部在移动,原来的框架窗口都没变;橙色的是我的拖动条;

追答
你放在哪个类里面?是框架类里面吗?你自绘是在非客户区自绘的喽。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式