CFormView
窗体视图的基类
CFormView类是用于窗体视图的基类。一个窗体视图是包含控件的基本视图,这些控件以对话模板资源为基础被放置好。如果在应用中想使用窗体,则可用CFormView。这些视图使用CScrollView的功能,支持滚动。
简介
MFC提供了一个名为CFormView的特殊视图类,我们称其为窗体视图。窗体视图是指用控件来输入和输出数据的视图,用户可以方便地在窗体视图中使用控件。窗体视图具有对话框和滚动视图的特性,使程序看起来象是一个具有滚动条的对话框。在有些情况下,用窗体视图比用普通视图更符合用户的需要,例如,在向数据库输入数据时,显然用表单的形式可以更习惯些。
新建一个项目时在 AppWizard中选择对话框应用程序,对应的视图类在Base class栏中选择CFormView,AppWizard就会创建一个基于CFormView的应用程序。
可以按上述方法建立一个名为Test的应用程序。在Test工程的资源中,有一个ID为IDD_TEST_FORM的对话框模板,该对话框模板可供用户放置和安排控件。在程序运行时,框架根据该对话框模板创建CFormView对象,并根据模板的信息在窗体视图中自动创建控件。与设计对话框类相类似,用户可以用ClassWizard为窗体视图类加入与控件对应的成员变量,可以调用UpdateData在控件和成员变量之间交换数据,但对控件的初始化工作是在OnInitialUpdate函数而不是在OnInitDialog函数中进行的。
基于窗体视图的应用程序与基于对话框的应用程序都是在应用程序中直接使用控件,但二者有很多不同之处。基于对话框的应用程序是用一个对话框来作为程序的主窗口的,因而程序的主窗口的特性与对话框类似,如窗口的大小不能改变,程序没有菜单条、工具条和状态栏等。基于窗体视图的应用程序仍然是基于Doc/View框架结构的,只是视图被换成了窗体视图,也就是说,应用程序的窗口可以改变大小,程序有菜单条、工具条和状态栏,且程序仍然可以Dov/View运行机制来处理文档。
层次结构
窗体视图的基类
class CFormView : public CScrollView
继承层次结构
CWnd
—CScrollView
—CFormView
构造对象
受保护的构造函数
CFormView::CFormView
CFormView(LPCTSTR lpszTemplateName);
CFormView(UINT nIDTemplate);
参数
lpszTemplateName一个以空终止符结束的字符串,此字符串为对话模板资源的名称。
nIDTemplate对话模板资源的ID值。
说明
当构造一个CFormView派生类型的对象时,可请求构造函数构造一个视图对象并标识此视图基于的对话资源。可以用名字(把字符串作为一个变元传送到构造器)或ID来标识此资源(把未标识的整数作为一个变元传送)。
窗体视图窗口和子控件在调用CWnd::Create之前不可创建。CWnd::Create被框架调用作为文档和视图创建进程的一部分,由文档模板驱动。
注意
你的派生类必须提供其构造函数。在构造函数中,可调用CFormView:: CFormView构造函数,以资源名称或ID作为参数,如前面类概述中所述。
所需头文件:#include
示例
// MyFormView.h// CMyFormView form viewclass CMyFormView : public CFormView
{
DECLARE_DYNCREATE(CMyFormView)
CMyFormView(); // protected constructor used by dynamic creation
virtual ~CMyFormView();
enum { IDD = IDD_MYFORMVIEW };
#ifdef _DEBUG virtual void AssertValid() const;
#ifndef _WIN32_WCE virtual void Dump(CDumpContext& dc) const;
#endif
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
DECLARE_MESSAGE_MAP()
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
};
// MyFormView.cpp
// CMyFormView
IMPLEMENT_DYNCREATE(CMyFormView, CFormView)
CMyFormView::CMyFormView()
: CFormView(CMyFormView::IDD)
{
}
参考资料
最新修订时间:2024-08-18 19:31
目录
概述
简介
参考资料