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派生的。
希望给个解答,分全给了 展开
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派生的。
希望给个解答,分全给了 展开
1个回答
展开全部
尝试处理左键按下的方法:
void CXXX::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y));
CDialog::OnLButtonDown(nFlags, point);
}
或者是通过判断左键按下消息,然后再处理WM_MOUSEMOVE消息。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询