去掉SDI工程中CView的白色边框
2015-12-08 15:21
866 查看
场景:
例如你需要CView融入你的UI界面, 你会发现除了OnPaint或者OnDraw绘制之外, CView的边框也需要处理.方法一.
需要分别在CMainFrame和CView的派生类的OnCreate方法中添加以下语句:ModifyStyleEx(WS_EX_CLIENTEDGE, 0, SWP_FRAMECHANGED);
如果使用ModifyStyleEx(WS_EX_CLIENTEDGE, 0, 0)语句,产生出来的窗口仍然有边框。
上面语句 SWP_FRAMECHANGED 参数的重要性在于,这个标志会使SetWindowPos函数发送 WM_NCCALCSIZE 消息, 重新计算非客户区的尺寸.
参考: http://cnwinds.blog.163.com/blog/static/631840420071141018444/
方法二.
还有一个方法就是重载实现 CXXView::OnNcPaintvoid CXXView::OnNcPaint()
{
HDC hDC = ::GetWindowDC(m_hWnd);
RECT rectWindow;
::GetWindowRect(m_hWnd, &rectWindow);
......
::ReleaseDC(m_hWnd, hDC);
}
相关文章推荐
- VS2005 实现单文档中的窗口分割(SDI with split window)
- 1-4 多文档界面处理(2)
- lzg_ad:SDI是什么?SDI loader怎么用?
- 华为首提“业务驱动基础架构”(SDI)
- CFromView视图中的Static text控件透明
- 手动创建CView视图
- vc去掉SDI程序标题栏的无标题字样
- MFC Windows程序设计--文档/视图体系结构
- 分割窗口后,CView 中显示影像
- 什么是3G-SDI?它与HD-SDI有什么区别?
- VC SDI程序在英文版系统不能运行
- 在SDI单文档视图中使用cmfctooltips
- CFileStatus使用
- CListView
- MFC单文档SDI
- SDI编码器
- 选中CTreeCtrl的节点,弹出对话框嵌入到客户区中
- SDI运行出现“建立空文档失败”的解决方法
- MFC文档/视图结构关联基类学习
- jQuery滑过头像图片展示个人信息效果