MFC中文档资料

来源:互联网 发布:自然灾害预警软件 编辑:程序博客网 时间:2024/05/29 12:34

 

应用向导可以创建三个不同类型的应用程序:SDIMDIDlg

1.单文档应用程序中的几个主要类

   应用向导自动创建的:主框架类CMainFrame、应用类CDocViewApp、文档类CDocViewDoc和视类CDocViewView

   主框架类从MFCCFremeWand派生用于管理主程序窗口,包括窗口标题条、菜单条、工具条、状态条等。

   应用类从MFCCWinApp派生。主要负责程序初始化和程序结束前的整理工作。

   文档类从MFCCDocument派生。主要负责存放程序数据和在磁盘上读写数据。

   视类CDoCViewViewMFCCView派生。用于管理视,主要负责程序数据的显示及处理用户输入。还有CEditView(支持简单的文本编辑功能),CScrollView(为视窗口添加了滚动条),CRecordView类和CDaoRecordView(支持数据库的存取功能),CHtmlView(可以在视窗口中添加超文本),CFormView(可以在视窗口中添加控件),CTreeView(可以在视窗口中以树形结构显示数据),CListView(可以在视窗口中显示列表控件),CRichEditView(支持功能更强大的文本编辑,支持RPT格式)。

   可以再根据具体情况选择需要继承的视类,在第六步中选择,先选中上方的视类,然后在左下方的Base class中选择。

  在程序的任何位置都可以调用全局函数AfxGetApp()获得一个指向应用类对象的指针如:CDocViewApp*pApp=CDocViewApp*AfxGetApp();可以通过应用类的GetMainWnd()函数得到主框架指针,如:CMainFrame*pMainFrame=(CMainFrame*)pApp->GetMainWnd();

在视中可以调用GetDocument()函数获得文档类对象的指针。如:CDocViewDoc*pDoc=GetDocument();

2、文档类与视类中的主要函数

     1CDocument类的主要函数

l  UpDataAllviews()

在文档/视结构中,一个文档可以对应多个视,调用UpDateAllviews()函数,可以通知每个与此文档有关的视,表示此文档已被修改,每个视分别调用自己的OnUpdate()函数更新视。

l  OnNewDocument()

当选择File|New菜单时,应用程序调用此函数,并通过该函数调用DeleteContent()函数,以保证文档变空。在SDI中调用它重新初始化现有的文档。在MDI中,建立一个新的文档,并调用它初始化这个文档。

l  OnOpenDocument()

当选择File|Open菜单时,调用它,打开指定的文件,也调用DeleteContent()函数,以保证文档变空。在SDI中,调用它重新初始化现有的文档,在MDI中,建立一个新的文档,并调用它初始化这个文档。

2 CView类的主要函数

l  OnDraw()

应用程序调用此函数以进行屏幕显示、打印和打印预览。当时窗口重画时,调用它。

l  GetDocument()

调用此函数可以获得一个指向当前视所对应的文档类指针,使用这个指针可以调用文档类的共有成员函数。

l  OnUpdate()

在视类中中对应的文档数据被修改后,调用它,已更新视的显示,反应文档中的最新数据。这个函数被文档类中的UpDateAllview()调用。

l  Onprint()

在打印和打印预览时调用它。

3、单文档应用程序与多文档应用程序

    SDI只能查阅和编辑一个文档。多文档程序可以同一时间调用多个文档。在多文档应用程序界面的主框架窗口可以打开多个子窗口,每个子窗口对应一个文档,而单文档程序主框架窗口就是文档窗口。