欢迎来到天天文库
浏览记录
ID:49070496
大小:110.77 KB
页数:10页
时间:2020-02-27
《[精品]VC++学习心得.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、[精品]VC++学习心得 VC++程序设计学习笔记 一、VC++6.0项目工作区答项目工作区是VisualC++IDE用来组织应用程序,其含有工作区的定义和工程中所包含文件的所有信息,项目工作区文件的扩展名为.dsp。 打开一个工程,项目工作区位于屏幕的左侧,有ClassView(类视图)、ResourceView(资源视图)、FileView(文件视图)。 ClassView(类视图)用于显示工程中定义的类。 依次展开文件夹将显示工程所有的类,包括CAboutDlg类(对话框类)、CMainFrame类(框架窗口
2、类)、CXXXApp类(应用程序类)、CXXXViewp类(视图类)、CXXXDoc类(文档类)及Global(全局变量)。 展开类的底层,双击某个类可以看到该类的头文件(*.h),即在FileView(文件视图)中的对应的头文件;双击某个成员函数,打开这个成员函数的实现处。 CAboutDlg类(对话框类)从CDialog类派生而来,用于实现对话框控件与类成员变量的关联。 CMainFrame类(框架窗口类)从CFramWnd类派生而来,充当应用程序主窗口,是所有空间、菜单以及“视图”的容器。 CXXXApp类(应
3、用程序类)是从CWinApp类派生而来,充当全部应用程序的容器,应用程序从此开始执行,消息循环机制也是在此实现。 CXXXViewp类(视图类)从CView类派生而来,负责数据的显示、修改,与文档打印、打印数据设定、打印机初始化、打印后的数据归还及打印预览等相关操作。 CXXXDoc类(文档类)从CDocument类派生而来,负责为应用程序提供所需的数据及处理这些数据的方法。 Global(全局变量)全局对象theApp,该对象表示了应用程序本身,是从应用程序类(CWinApp)派生出来的类的实例化对象。 Resou
4、rceView(资源视图)用于显示工程所包含的资源文件。 依次展开文件夹显示工程所有的资源类型,包括Aelerator(加速键)、Dialog(对话框)、Icon(图标)、Menu(菜单)、StringTable(串表)、Toolbar(工具条)、Version(版本)。 双击底层某个资源文件名,可以打开相应的资源器。 FileView(文件视图)用于显示所创建的工程,在此工作区可以增加、删除、移动、重命名和复制文件等操作。 依次展开文件夹显示工程中所包含的文件,有源文件(*.cpp)、头文件(*.h)及资源文件(*
5、.rc)等。 二、Windows消息驱动的运行机制答Windows消息处理利用while语句来实现,以GetMessage函数为参数,进行消息循环。 GetMessage函数只有在接收到WM_QUIT消息时,才返回0,这是while语句才结束循环。 (1)操作系统接收到应用程序的窗口消息,将消息投递到该应用程序的消息队列中。 (2)应用程序在消息循环中调用GetMessage函数从消息队列中取出一条一条的消息。 取出消息后,应用程序可以对消息进行一些预处理。 (3)应用程序调用DispatchMessage,将消
6、息回传给操作系统。 (4)系统利用WNDCLASS结构体的lpfnWndProc成员保存的窗口过程函数的指针调用窗口过程,对消息进行处理。 三、实现序列化的基本过程答 (1)建立CFile对象。 (2)建立Open()函数打开文件,指定文件名及打开模式。 (3)建立CArchive对象,连接CFile对象及指定存储、装入模式。 (4)执行序列对象的Serialize()函数。 (5)关闭文件。 当文档数据被存储时,函数Serialize通过调用文档数据对象的Serialize函数,从每一个序列化的对象中读取数
7、据并把它存储到与包含在ar的成员变量相关联的文件。 当文档数据被载入时,函数Serialize从与包含在ar中的成员变量相关的那个文件中读取数据,然后通过调用文档数据对象的函数Serialize把他们还原。 序列化过程中所创建的磁盘文件称为序列化的归档文件,他存储了应用程序中每一个数据对象的一份拷贝,并且包括每一个对象的类型信息和版本信息。 MFC序列化应用程序实现对类的序列化必须满足的4个条件 (1)类必须直接或间接从CObject类派生而来。 (2)在自定义类中重载序列化成员函数Serialize。 (3)类
8、必须定义一个不带参数的构造函数,从磁盘文件载入文档时调用该构造函数来创建一个可序列化的对象,使用从文件中读出来的数据填充对象的成员变量。 (4)在类的头文件中使用DECLAR_SERIAL宏,IMPLEMENT_SERIAL宏。 四、MFC应用程序的框架类,包括类的描述文件、功能以及派
此文档下载收益归作者所有