如何优雅的写UI——(2)MFC下基于CFormView的文档视图程序

时间:2022-06-21 03:21:04

在MFC中可以创建多种类型的窗口程序,如对话框程序、单文档结构程序(非文档/视图结构)、单文档(文档/视图结构)以及多文档视图结构程序等。

在编写一般的小工具时,我们的首选显然是对话框程序,不过基于对话框的程序不支持视图类,有些功能实现起来会麻烦许多。此时我们可以使用CFormView作为基类来创建单文档(非文档/视图结构)和单文档(文档/视图结构)的程序。

一、使用MFC向导创建程序

如何优雅的写UI——(2)MFC下基于CFormView的文档视图程序

(1)单文档(文档/视图结构)

如何优雅的写UI——(2)MFC下基于CFormView的文档视图程序

(2)不需要状态栏和工具栏

如何优雅的写UI——(2)MFC下基于CFormView的文档视图程序

(3)使用CFormView作为基类

aaarticlea/png;base64,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" alt="" />

(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; }

结果:

如何优雅的写UI——(2)MFC下基于CFormView的文档视图程序

下一篇我会教大家如何动态创建好看的选项卡

代码:tab.zip