从类的角度区分

基于对话框(3个类):

  • CAboutDlg
  • 程序名App
  • 程序名Dlg

单文档(5个类):

  • CAboutDlg
  • CMainFrame
  • 程序名App
  • 程序名Doc
  • 程序名View

多文档(6个类):

  • CAboutDlg
  • CMainFrame
  • 程序名App
  • 程序名Doc
  • 程序名View
  • CChildFrame

-------------------------------------------------------------------------------

多文档

CAboutDlg(“关于”对话框)

      CAboutDlg()

      DoDataExchange(CDataExchange* pDX)

CChildFrame(子框架类)

      AssertValid()

      CChildFrame()

      ~CChildFrame()

      Dump(CDumpContext& dc)

      PreCreateWindow(CREATESTRUCT& cs)

CMainFrame(主框架类)

      AssertValid()

      CMainFrame()

      ~CMainFrame()

      Dump(CDumpContext& dc)

      OnCreate(LPCREATESTRUCT lpCreateStruct)

      PreCreateWindow(CREATESTRUCT& cs)

      CStatusBar  m_wndStatusBar;

      CToolBar    m_wndToolBar;

CMyApp(应用程序类)

      CMyApp()

      InitInstance()

      OnAppAbout()

CMyDoc(文档类)

      AssertValid()

      CMyDoc()

      ~CMyDoc()

      Dump(CDumpContext& dc)

      OnNewDocument()

      Serialize(CArchive& ar)

CMyView(视图类)

      AssertValid()

      CMyView()

      ~CMyView()

      Dump(CDumpContext& dc)

      GetDocument()

      OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)

      OnDraw(CDC* pDC)

      OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)

      OnPreparePrinting(CPrintInfo* pInfo)

      PreCreateWindow(CREATESTRUCT& cs)

Golbals(全局)

    theApp      

-------------------------------------------------------------------------------

单文档

CAboutDlg(“关于”对话框)

      CAboutDlg()

      DoDataExchange(CDataExchange* pDX)

CMainFrame(主框架类)

      AssertValid()

      CMainFrame()

      ~CMainFrame()

      Dump(CDumpContext& dc)

      OnCreate(LPCREATESTRUCT lpCreateStruct)

      PreCreateWindow(CREATESTRUCT& cs)

      CStatusBar  m_wndStatusBar;

      CToolBar    m_wndToolBar;

CMyApp(应用程序类)

      CMyApp()

      InitInstance()

      OnAppAbout()

CMyDoc(文档类)

      AssertValid()

      CMyDoc()

      ~CMyDoc()

      Dump(CDumpContext& dc)

      OnNewDocument()

      Serialize(CArchive& ar)

CMyView(视图类)

      AssertValid()

      CMyView()

      ~CMyView()

      Dump(CDumpContext& dc)

      GetDocument()

      OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)

      OnDraw(CDC* pDC)

      OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)

      OnPreparePrinting(CPrintInfo* pInfo)

      PreCreateWindow(CREATESTRUCT& cs)

Golbals(全局)

    theApp

-------------------------------------------------------------------------------

对话框

CAboutDlg(“关于”对话框)

      CAboutDlg()

      DoDataExchange(CDataExchange* pDX)

CMyApp(应用程序类)

      CMyApp()

      InitInstance()

CMyDlg(对话框类)

      CMyDlg(CWnd* pParent /*=NULL*/)

      DoDataExchange(CDataExchange* pDX)

      OnInitDialog()

      OnPaint()

      OnQueryDragIcon()

      OnSysCommand(UINT nID, LPARAM lParam)

      HICON m_hIcon;

Golbals(全局)

    theApp

-------------------------------------------------------------------------------

CXXXApp是应用程序类,负责程序的启动和结束
CXXXDlg是主对话框类,程序的主界面。

单文档就是一个窗口只能处理一个文档,多文档就是同时可以处理多个,共享工具栏,菜单栏什么的,对话框就是一个提示用户进行选择或者确认的窗体。对话框模板适合于做交互界面,单文档模板适合于做文件处理,多文档模板适合于做多文件处理。不过,还是没法明确这个问题。

对话框模板适合于做交互界面
单文档模板适合于做文件处理
多文档模板适合于做多文件处理

单文档程序打开多个文件会产生多个进程;
多文档程序打开多个文件只需一个进程。

单文档只能进行一份文档或图片的操作,就是你不能同时在一个程序打开两个文件
多文档可以用多个窗口显示不同的信息,进行不同的任务,有多个视图环境,可以同时操作多个文件

最新文章

  1. SDN:motivation
  2. CentOS下PHP7的编译安装,MySQL的支持和一些问题的解决
  3. 关于 windows 下 node_modules\node-sass\vendor 的报错解决方法
  4. mysql 查询表,视图,触发器,函数,存储过程
  5. LeetCode:Minimum Path Sum(网格最大路径和)
  6. json串转对象
  7. [JS]以下是JS省市联动菜单代码
  8. Java批量生成Mac地址到文件
  9. Windows Powershell脚本执行
  10. 配置MySQL的数据源
  11. axis2与cxf区别
  12. Docker Kubernetes Service 代理服务创建
  13. 【linux】linux查看资源任务管理器,使用top命令 + 查看java进程下的线程数量【两种方式】
  14. 分享一个VS2008漂亮的黑色主题
  15. Python3 笔记01:求两数之和
  16. ORACLE 参数设置绑定变量
  17. 百度分享vue版-vshare
  18. [洛谷P4341][BJWC2010]外星联络
  19. 【位运算】【BFS】移动玩具
  20. unity deferred lighting

热门文章

  1. Ruby 方法
  2. memory corruption
  3. lua Getter&Setter简单实现
  4. VC++常用函数
  5. servlet有关概念
  6. C# 多线程详解 Part.04(Lock、Monitor、生产与消费)
  7. inotify +rsync进行实时同步
  8. nginx下rewrite参数超过9个的解决方法
  9. laravel route路由
  10. keil中出现Undefined symbol FLASH_PrefetchBufferCmd (referred from main.o)等问题解决办法