MFC 移动无标题对话框
2012-06-04 13:23
323 查看
在网上找的方法是增加如下代码:
afx_msg UINT OnNcHitTest(CPoint point);
ON_WM_NCHITTEST()
UINT CMySkinAdDlg::OnNcHitTest(CPoint pt)
{
CRect rc;
GetClientRect(&rc);
ClientToScreen(&rc);
return rc.PtInRect(pt)? HTCAPTION:CDialog::OnNcHitTest(pt);
}
使用可行,但当加入SkinH.dll的皮肤效果后,移动失败,这个原因暂时还不知道,于是增加解决方案如下
UINT CMySkinAdDlg::OnNcHitTest(CPoint pt)
{//将函数修改为此
UINT nHitTest = CDialog::OnNcHitTest(pt);
return (nHitTest == HTCLIENT) ? HTCAPTION : nHitTest;
}
然后增加左击函数如下
void CMySkinAdDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CDialog::OnLButtonDown(nFlags, point);
PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y));
}
运行后就可以了。。。。
afx_msg UINT OnNcHitTest(CPoint point);
ON_WM_NCHITTEST()
UINT CMySkinAdDlg::OnNcHitTest(CPoint pt)
{
CRect rc;
GetClientRect(&rc);
ClientToScreen(&rc);
return rc.PtInRect(pt)? HTCAPTION:CDialog::OnNcHitTest(pt);
}
使用可行,但当加入SkinH.dll的皮肤效果后,移动失败,这个原因暂时还不知道,于是增加解决方案如下
UINT CMySkinAdDlg::OnNcHitTest(CPoint pt)
{//将函数修改为此
UINT nHitTest = CDialog::OnNcHitTest(pt);
return (nHitTest == HTCLIENT) ? HTCAPTION : nHitTest;
}
然后增加左击函数如下
void CMySkinAdDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CDialog::OnLButtonDown(nFlags, point);
PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y));
}
运行后就可以了。。。。
相关文章推荐
- MFC无标题栏对话框移动的处理方法
- MFC无标题栏对话框移动的处理方法
- MFC 移动无标题对话框
- mfc无标题对话框的移动方法
- MFC 动态修改对话框标题
- MFC中无标题栏窗口的移动
- MFC对话框程序中当鼠标移动到控件上后改变形状
- 如何修改MFC对话框的窗口标题
- MFC修改button的颜色、背景、边框、对话框标题
- MFC中修改对话框的标题
- MFC修改button的颜色、背景、边框、对话框标题
- 动态设置mfc对话框的标题
- MFC中无标题栏窗口的移动
- MFC中修改初始对话框标题和名字
- WM_NCHITTEST无标题对话框的移动
- MFC 修改对话框标题
- VC 无标题栏对话框移动
- MFC 对话框标题动态设置
- MFC中拖动无标题的对话框
- MFC轻松实现对话框标题更改