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