MFC中 创建基于CFormView的文档视图程序
2018-03-22 18:52
483 查看
在MFC中可以创建多种类型的窗口程序,如对话框程序、单文档结构程序(非文档/视图结构)、单文档(文档/视图结构)以及多文档视图结构程序等。 在编写一般的小工具时,我们的首选显然是对话框程序,不过基于对话框的程序不支持视图类,有些功能实现起来会麻烦许多。此时我们可以使用CFormView作为基类来创建单文档(非文档/视图结构)和单文档(文档/视图结构)的程序。 一、使用MFC向导创建程序
(1)单文档(文档/视图结构)
(2)不需要状态栏和工具栏
(3)使用CFormView作为基类
(4)使用向导创建好的程序窗口
二、程序初始化设置 在这个由MFC向导创建的程序窗口中有些功能或许是我们不想要的,比如视图标题、视图凹陷效果、菜单栏、鼠标拖动窗口边框调整窗口大小等。 1. 不显示视图标题、禁止以拖动方式调整窗口大小、禁用菜单栏 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: 在此处通过修改
// CREATESTRUCT cs 来修改窗口类或样式
cs.style &= ~FWS_ADDTOTITLE; /* 不显示视图标题 */
cs.style &= ~WS_THICKFRAME; /* 禁止以拖动方式调整窗口大小 */
cs.hMenu = NULL;
return TRUE;
} 2. 去除视图凹陷效果 BOOL CTestView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此处通过修改
// CREATESTRUCT cs 来修改窗口类或样式
cs.style &= ~WS_BORDER; /* 去除视图凹陷效果 */
return CFormView::PreCreateWindow(cs);
}
3. 修改程序窗口标题 BOOL CTestApp::InitInstance()
{ .... .... .... m_pMainWnd->SetWindowText( L"测试程序" ); /* 修改程序窗口标题 */ // 唯一的一个窗口已初始化,因此显示它并对其进行更新
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
// 仅当具有后缀时才调用 DragAcceptFiles
// 在 SDI 应用程序中,这应在 ProcessShellCommand 之后发生
return TRUE;} 经过以上几步的设置,程序界面就基本符合我们的需求了。
来源:http://hi.baidu.com/jjxiaoyan/item/b01b2aed41eb4811595dd80d
(1)单文档(文档/视图结构)
(2)不需要状态栏和工具栏
(3)使用CFormView作为基类
(4)使用向导创建好的程序窗口
二、程序初始化设置 在这个由MFC向导创建的程序窗口中有些功能或许是我们不想要的,比如视图标题、视图凹陷效果、菜单栏、鼠标拖动窗口边框调整窗口大小等。 1. 不显示视图标题、禁止以拖动方式调整窗口大小、禁用菜单栏 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: 在此处通过修改
// CREATESTRUCT cs 来修改窗口类或样式
cs.style &= ~FWS_ADDTOTITLE; /* 不显示视图标题 */
cs.style &= ~WS_THICKFRAME; /* 禁止以拖动方式调整窗口大小 */
cs.hMenu = NULL;
return TRUE;
} 2. 去除视图凹陷效果 BOOL CTestView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此处通过修改
// CREATESTRUCT cs 来修改窗口类或样式
cs.style &= ~WS_BORDER; /* 去除视图凹陷效果 */
return CFormView::PreCreateWindow(cs);
}
3. 修改程序窗口标题 BOOL CTestApp::InitInstance()
{ .... .... .... m_pMainWnd->SetWindowText( L"测试程序" ); /* 修改程序窗口标题 */ // 唯一的一个窗口已初始化,因此显示它并对其进行更新
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
// 仅当具有后缀时才调用 DragAcceptFiles
// 在 SDI 应用程序中,这应在 ProcessShellCommand 之后发生
return TRUE;} 经过以上几步的设置,程序界面就基本符合我们的需求了。
来源:http://hi.baidu.com/jjxiaoyan/item/b01b2aed41eb4811595dd80d
相关文章推荐
- MFC中 创建基于CFormView的文档视图程序
- MFC多文档程序启动时一个文档创建两个视图
- 修改基于formView的MFC单文档背景颜色
- MFC多文档程序启动时一个文档创建两个视图
- 在mfc的sdi/mdi程序任意视图view内创建可停靠及浮动的工具栏方法
- MFC多文档程序启动时一个文档创建两个视图
- 去掉基于FormView的MFC单文档默认菜单和工具栏的方法
- MFC中 给基于CFormView的单文档添加背景图片
- 基于MFC多文档多视图结构的OGRE指北针程序
- mfc 基于formview的sdi 打开文档后 窗口变小的问题
- 一个SDI程序基于CFormView视。上面放一个CStatic控件,给视图添加双击消息,运行程序后,双击视图,会有弹出消息响应。 但是双击CStatic类控件,却没有响应
- 切换多视图(mfc单文档程序)
- 基于FormView界面的文档工程中改变背景色和控件颜色
- VS2010 MFC中制作Visual Studio风格的停靠侧栏窗口(CDockablePane里嵌套FormView表单视图)
- MDI程序系统框架单文档对应多视图 切换 创建实现过程。
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- 基于MFC文档/视/框架程序之利剑
- CFormView 单文档程序最大化问题
- 新建一个多文档的MFC程序,怎样取消自动创建的文件呢?
- 基于MDI和CFormView框架的多视图开发实例