怎么隐藏Resizing风格的对话框的边框,又能使它能够鼠标拖动改变大小?

奋进的小鸟 2016-11-09 06:04:12
MFC对话框项目中,怎么隐藏Resizing风格的对话框的边框,又能使它能够鼠标拖动改变大小?
...全文
190 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
奋进的小鸟 2016-11-10
  • 打赏
  • 举报
回复
引用 4 楼 schlafenhamster 的回复:

void CxxxxDlg::OnNcPaint() 
{
	// TODO: Add your message handler code here
	CDialog::OnNcPaint();
	CRect rc;
	GetWindowRect(&rc);
	rc.OffsetRect(-rc.left,-rc.top);
	CDC* pWinDC = GetWindowDC();
	CBrush br;
	br.Attach(GetStockObject(LTGRAY_BRUSH));
// or:	br.CreateSolidBrush(RGB(255,0,0));
// 3 times
	pWinDC->FrameRect(&rc,&br);
	rc.DeflateRect(1,1);
	pWinDC->FrameRect(&rc,&br);
	rc.DeflateRect(1,1);
	pWinDC->FrameRect(&rc,&br);
	ReleaseDC(pWinDC);
	// Do not call CDialog::OnNcPaint() for painting messages
}
还是不行,你这个影响到的是Dialog Frame风格的对话框的边框,影响不到Resizing风格的对话框的边框
hurryboylqs 2016-11-10
  • 打赏
  • 举报
回复
引用 5 楼 u010463663 的回复:
[quote=引用 3 楼 hurryboylqs 的回复:] 响应WM_NCHITEST: 处理 HTLEFT HTRIGHT HTBOTTOM HTTOP 参考: http://download.csdn.net/detail/hurryboylqs/2575663
网址里的程序不是我想要的效果[/quote] 已经告诉你方法了,处理OnNCHitTest,这个例子只是告诉你怎么处理这个消息,并不是让你完全照抄
奋进的小鸟 2016-11-10
  • 打赏
  • 举报
回复
引用 3 楼 hurryboylqs 的回复:
响应WM_NCHITEST: 处理 HTLEFT HTRIGHT HTBOTTOM HTTOP 参考: http://download.csdn.net/detail/hurryboylqs/2575663
网址里的程序不是我想要的效果
schlafenhamster 2016-11-10
  • 打赏
  • 举报
回复

void CxxxxDlg::OnNcPaint() 
{
	// TODO: Add your message handler code here
	CDialog::OnNcPaint();
	CRect rc;
	GetWindowRect(&rc);
	rc.OffsetRect(-rc.left,-rc.top);
	CDC* pWinDC = GetWindowDC();
	CBrush br;
	br.Attach(GetStockObject(LTGRAY_BRUSH));
// or:	br.CreateSolidBrush(RGB(255,0,0));
// 3 times
	pWinDC->FrameRect(&rc,&br);
	rc.DeflateRect(1,1);
	pWinDC->FrameRect(&rc,&br);
	rc.DeflateRect(1,1);
	pWinDC->FrameRect(&rc,&br);
	ReleaseDC(pWinDC);
	// Do not call CDialog::OnNcPaint() for painting messages
}
hurryboylqs 2016-11-10
  • 打赏
  • 举报
回复
响应WM_NCHITEST: 处理 HTLEFT HTRIGHT HTBOTTOM HTTOP 参考: http://download.csdn.net/detail/hurryboylqs/2575663
奋进的小鸟 2016-11-10
  • 打赏
  • 举报
回复
引用 1 楼 schlafenhamster 的回复:
“”怎么隐藏Resizing风格的对话框的边框“” NC_PAINT 把 Border 画得与 客户区 同色
那个边框不属于Border,那个边框的功能是用来给客户拉伸对话框
schlafenhamster 2016-11-10
  • 打赏
  • 举报
回复

看到 那个 Resizing 了吗 ?
奋进的小鸟 2016-11-10
  • 打赏
  • 举报
回复
引用 9 楼 hurryboylqs 的回复:
ModifyStyle(WS_THICKFRAME,0,0);
我太固守自己的想法了,听你解释,我再去看看那个网址的工程代码,发现另有途径,谢谢你
hurryboylqs 2016-11-10
  • 打赏
  • 举报
回复
ModifyStyle(WS_THICKFRAME,0,0);
奋进的小鸟 2016-11-10
  • 打赏
  • 举报
回复
引用 6 楼 hurryboylqs 的回复:
[quote=引用 5 楼 u010463663 的回复:] [quote=引用 3 楼 hurryboylqs 的回复:] 响应WM_NCHITEST: 处理 HTLEFT HTRIGHT HTBOTTOM HTTOP 参考: http://download.csdn.net/detail/hurryboylqs/2575663
网址里的程序不是我想要的效果[/quote] 已经告诉你方法了,处理OnNCHitTest,这个例子只是告诉你怎么处理这个消息,并不是让你完全照抄[/quote] 响应WM_NCHITEST应该是用来处理拉伸对话框吧,那我想隐藏Resizing风格的对话框的边框,这样又怎么做啦
schlafenhamster 2016-11-09
  • 打赏
  • 举报
回复
“”怎么隐藏Resizing风格的对话框的边框“” NC_PAINT 把 Border 画得与 客户区 同色

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧