《VC++就业培训宝典之MFC视频教程》,是总结多年就业培训经验编写而成的,注重能力与兴趣培养,由浅入深,条理清晰,通俗易懂。每年有数以万计的应届毕业生,通过对本书的学习软件开发之。每章最后都配备了充足的课后作业,每章作业答案以视频形式公布在鑫历程网站。全书随课程深入逐步完成10几个项目开发,其中大部分适合作为本科毕业设计以及求职简历的项目。
读者务必要对照视频和书籍编写每一段每一行代码,这是最快、最好和最透彻的学习编程语言的方法。
本书每一章课后都有充足作业,包括测试题、上机题和填空题等,同学一定认真完成每一道试题。尤其是上机题要尽量先自己动手动脑编程实现后,或者实在做不出再到网站上对照答案。这是对于编程者思考和完成项目能力非常重要的训练!
本书并不要求读者首先具备很高的C或C++语言的基础,只要认真按照以上要求认真,不懈地完成所有章节的代码对照和作业,你的语言基础将会在训练过程中自然夯实。
希望大家看后在学习到满意的课程之后,也把这些课程告诉给你的亲戚朋友同学,或者到处去转贴链接和上传视频教程,让更多的人知道这些视频教程并从中受益。
Visual C++6.0 IDE介绍,即开发和调试介绍。 VC开发,如何新建工程、关闭工程和打开工程等,并编写代码并编译生成执行文件,程序运行和测试的方法
VC调试,如何进入调试状态和如何进行程序,并介绍与调试相关的工具栏和变量观测窗口。 快捷键包括: 1、Windows通用快捷键; 2、文本或代码编辑快捷键; 3、VC内部专用快捷键。
从最简单的Win32软件开发讲起,介绍在Win32软件工程的建立和开发过程。 内容包括: 1、消息框的属性和开发方法; 2、Windows资源添加方法(包括图标、光标以及对线、对话框资源的添加和对话框程序的开发方法。
1、介绍Win32软件工程的资源管理; 2、Win32下的对话框程序开发方法和实现原理; 3、初步了解Win32消息的含义和消息处理机制; 4、引导学习一些win32窗口操作的API函数;
1、介绍WinMain函数的组成和原理; 2、学习Windows专用变量类型; 3、掌握对话框及控件属性原理及管理方法。
1、进一步学习Windows窗口和控件的属性管理; 2、通过登录过程Win32下的多对线、建立一个MFC软件工程,初步认识MFC软件的开发方式。
1、通过MFC软件工程开发一个带有增删改查的数据表格软件; 2、初步认识MFC消息映射机制的应用; 3、初步了解MFC专用数据类型的种类和使用方法;
1、对比MFC与Win32软件工程的区别; 2、概要介绍MFC类库种类; 3、通过封装CTime类深入理解C++封装原理; 4、通过以上过程理解MFC类库的形成原理。
1、由Win32软件工程手动改写代码升级成为MFC软件工程; 2、通过以上工程升级过程深入了解MFC软件工程的架构原理; 3、进一步深入了解Win32消息处理机制,在下一节中将用于对比MFC消息映射机制的原理; 4、MFC六大关键技术是常见的公司面试题。
1、通过Win32软件工程手动编写代码升级为MFC软件工程; 2、在以上工程基础上建立CDialog派生类,用于演示MFC窗口类的消息映射机制; 3、在CDialog类中添加各种消息映射函数,用于体验MFC消息映射函数的管理方法。
1、通过MFC AppWizard(应用程序向导),在新建工程时自动生成CDialog派生类。 2、通过以上应用程序向导和类向导,对MFC软件工程的代码管理体现出了MFC软件开啊的高效性。 3、通过加入登录对话框的过程,演示在MFC软件工程中管理多个对线、详细分析一些常见消息映射的数据组成,初步学习SendMessage和PostMessage的功能。
1、深入PostMessage和SendMessage函数的区别,这是公司常见的MFC面试题; 2、深入MFC类向导的代码管理机制; 3、深入MFC消息映射的代码管理机制;
1、窗口种类分类:SDI、MDI、对话框以及自定义窗口类型; 2、对话框种类分类:模式对线、对话框启动参与的消息包括:WM_CREATE和WM_INITDIALOG等; 4、对话框启动参与的消息包括:WM_SYSCOMMAND、WM_CLOSE、OnCancel回调函数以及WM_DESTROY等等;
1、非模式对线、MFC核心类库(CWnd)的介绍; 3、调用CWnd类的Create函数创建一个控件窗口; 4、窗口句柄与CWnd对象的相互转换;
1、通用窗口风格和控件专用风格介绍; 2、通过CWnd类CreateEx函数来创建带有扩展风格的窗口; 3、解析所有窗口基础风格和扩展风格的含义; 4、进一步解析CWnd类的各种函数;
1、全面解析CWnd类的各种函数,包括:SetTimer、EnableWindow、IsZoomed、IsIconic以及CenterWindow、SetWindowPos等等。
继续全面深入解析CWnd类的各种函数,包括: GetWindowRect、GetClientRect、GetTopWindow、GetForegroundWindow、GetActiveWindow、GetDlgItem和GetDlgCtrlID等等。更多内容详见视频。
1、MFC核心类库(CWinApp)的介绍,包括核心变量: HINSTANCE m_hInstance; HINSTANCE m_hPrevInstance; LPTSTR m_lpCmdLine; int m_nCmdShow; LPCTSTR m_pszExeName; LPCTSTR m_pszHelpFilePath; LPCTSTR m_pszProfileName; LPCTSTR m_pszRegistryKey; 4、CWinApp类函数: CWinApp构造函数、LoadIcon、LoadCursor、配置文件读写函数等等。 更多内容详见视频教程。
1、登录对话框与主对线、账户信息管理对话框与主对线、账户信息列表的增删改查的管理; 4、简要介绍匈牙利变量命名规则;
1、将账户信息管理与登录过程进行关联; 2、将账户权限管理与权限操作进行管理; 3、账户信息的文件保存与加载;
1、演示CFile文件保存与加载过程; 2、员工信息列表对话框的数据增删改查管理; 3、专门开发一个数据录入的对话框,与员工信息对话框建立关联;
1、进一步完善员工信息管理对话框,包括信息删除和修改,以及信息打开和保存等功能; 2、开始学习系统内部对话框,例如打开与另存为对线
1、演示主要的系统对话框的使用方法,包括文件对话框、颜色选取对线、通过保存文件对话框(CFileDialog类)选择一个文件,再通过CFile类将信息保存选中的文件; 3、通过打开文件对话框(CFileDialog类)选择一个文件,再通过CFile类加载选中文件的数据到列表控件中; 4、对所有对话框的背景颜色和文字颜色进行设置;
1、所有系统对话框的使用方法介绍,包括:文件对话框、颜色选择对话框以及字体选择对线、开发一个系统对话框使用最频繁的软件:记事本;
1、在一个列表数据的添加和修改时,调用编辑控件和下拉里的内容; 2、演示控件类变量与控件之间建立管理的各种方法。
1、演示通过类向导建立控件型关联变量的方法; 2、演示通过类向导对一部分控价建立数值型关联变量; 3、演示数值型关联变量的数据更新方法; 4、控件型关联变量和数值型关联变量的原理;
1、使用数值型关联变量实现数据录入对线、使用数值型关联变量实现数据修改对线、通过以上两个功能开发,演示数值型关联变量的高级应用。
1、通过正删改查一个复杂列表数据功能的开发,演示时间数据、单选数据和复选数据的联合应用。 2、演示多组单旋钮、多个复选框的应用开发,以及时间控件的应用开发。
1、简要介绍I的该奶奶与含义; 2、简要介绍设备(DC)的概念; 3、演示三大绘图句柄的功能与调用条件;
1、介绍I绘图技术中的三大坐标系以及相互转换的方式; 2、演示各种不同函数依赖坐标系以及对应的坐标系转换方式; 3、介绍颜色表达方式以及各种颜色管理的(宏)函数。
1、进一步三大坐标系之间的相互关系; 2、MFC将HDC句柄封装为CDC类用于绘图; 3、演示CDC四大派生类的封装原理与调用方法;
1、演示自制标题栏的开发方式; 2、CPen和CBrush两个主要的I对象的概念和调用方法;
1、进一步I对象CPen与CBrush的调用方法; 2、引入更多的绘图相关的API函数和CDC绘图类函数。
1、继续谁深入六大I对象——CPen和CBrush; 2、继续第三大I对象——CFont。
1、继续深入CFont类的调用方法和其他一些文字输出管理; 2、演示使用CBitmap类加载位图以及获取位图信息的方法; 3、演示贴图函数方法对图片整体输出和局部输出的方法以及拉伸和压缩的方法。
1、演示内存DC类的封装过程,理解CMemDC类的封装原理; 2、执行文件内部位图的加载方法和执行文件外部位图文件的加载方法。
1、演示在Win32软件工程中,加载和显示位图、图标和光标的过程; 2、完善CMemDC类的功能,增加创建空白内存DC的方法。
1、继续完善CMemDC类,增加对应每种创建和加载函数的构造函数; 2、通过CMemDC连续加载多个位图文件,并且演示多帧动画图片的加载和播放过程; 3、继续完善CMemDC类,增加透图的显示和拉伸方法; 4、通过完善后CMemDC类加载多张透明动画图片并播放透明动画。
1、继续深入研究界面闪烁的原理和解决办法; 2、研究大量动画对象同时随机运动的开发原理,也就是游戏精灵的开发原理。
1、介绍矢量绘图软件和非矢量绘图软件的区别; 2、演示图层架构的矢量绘图软件的开发原理和开发过程;
1、继续完善图层架构软件图层绘制,增加一些图层的种类; 2、继续深入研究图层的选取和拖拽的原理和开发方法。
1、完善CMemDC类,增加通过透明位图生成不规则区域的算法函数; 2、开发根据透明位图生成不规则窗口的功能; 3、根据多张透明图片开发一个QQ宠物的动画窗口。
第一节 高级编辑控件(CRichEditCtrl)和旋转按钮(CSpinButtonCtrl
介绍一些高级控件,包括旋转按钮(CSpinButtonCtrl类)和高级编辑控件(CRichEditCtrl类))的开发方法。
1、向导模式的外壳窗口的管理:上一步、下一步和完成等; 2、内部多个子窗口开发,以及外壳窗口对内部子窗口的页面切换管理。 3、如何在向导结束后将多页子窗口的数据,保存入主窗口的列表控件中?
1、标签模式的外壳窗口的管理:标签控件的开发和使用; 2、内部多个子窗口开发,以及外壳窗口通过标签模式对内部子窗口的切换管理。 3、如何在向导结束后将多页子窗口的数据,保存入主窗口的列表控件中?
1、通过属性表和属性页来实现向导模式的外壳窗口和子窗口页面的管理; 2、通过属性表和属性页来实现外壳窗口对内部子窗口的页面切换管理; 3、如何在向导结束后将多个属性页子窗口的数据,保存入主窗口的列表控件中? 4、消息反射是一种特殊的消息映射,是从子窗口发出给父窗口的消息映射。区别;
1、进一步介绍常见的反射性消息映射的功能和特点; 2、通过对总公司和分公司部门员工管理,演示树形控件的开发和应用、
1、通过设置图像列表(CImageList类),在列表控件插入时设置每行图标; 2、通过GetHeaderCtrl函数获取列表的标头控件,并设置标头上的图标; 3、通过单击标头改变标头上的三角号方向。
1、详细CListCtrl::SetItem函数的各种功能,并且实现对已经插入的行图标修改; 2、在点击一个标头列时,通过CHeaderCtrl::SetItem函数清除和加入标头图标; 3、通过设置树形控件的图像列表(CImageList类),来管理树形控件每个节点上的图标。
1、点击列表控件的一个标头列时,通过CListCtrl::SortItems函数针对当前列的数据进行排序; 2、CWinApp:: SetDialogBkColor函数,设置对话框背景颜色和静态文本颜色; 3、WM_ERASEBKGND的消息映射函数颜色控制的对象,只包括父窗口自身的背景和文字颜色;
1、详细WM_CTLCOLOR的消息映射函数颜色控制的对象。 不但包括父窗口自身的背景和文字颜色,而且还包括静态文本控件、编辑控件以及组合控件等。 2、通过控件自绘技术开发一个包括图标和文字的彩色按钮控件。
1、使用WM_DRAWITEM和WM_MEASUREITEM消息在父窗口实现按钮自绘; 2、使用WM_DRAWITEM和WM_MEASUREITEM消息在父窗口实现列表控件自绘; 3、使用WM_DRAWITEM和WM_MEASUREITEM消息在父窗口实现下拉控件自绘; 4、通过MFC自绘按钮类CBitmapButton实现三态按钮的开发。
1、调用CWnd::Create函数手动创建编辑框、下拉控件以及按钮等控件; 2、调用CWnd::CreateEx函数手动创建下陷风格的编辑框和列表控件等; 3、调用CWnd::Create函数手动创建日期控件;
1、为手动创建的控件设置字体和创建消息映射函数; 2、调用RegisterClass系列函数注册自定义窗口类型; 3、通过注册的自定义窗口类型,调用CWnd::CreateEx函数创建自定义主窗口。
1、进一步注册和创建主窗口的详细过程; 2、关闭主窗口和退出自定义主窗口程序的方法; 3、介绍多种注册窗口的函数以及创建自定义主窗口菜单的方法; 4、介绍自定义(按钮)控件的开发方法。
1、进一步完善自定义按钮控件的功能,包括鼠标按下和鼠标离开状态的显示; 2、进一步加强自定义按钮控件的功能,将自定义按钮控件开发为三态按钮; 3、介绍自定义(标签)控件的开发方法。
1、进一步加强自定义分页控件的功能,开发成为带图标的三态分页控件; 2、介绍自定义控件、自绘控件和控件二次开发的关系与区别; 3、介绍滑块控件的二次开发方法。
1、继续完善滑块控件的二次开发; 2、介绍工具提示的显示方法; 3、工具提示增强的功能,包括动态提示文字和多行提示文字等;
1、MFC程序架构:主要分为对话框与框架界面两种程序架构; 2、框架界面主要由框架(Frame)和视图(View)两部分组成,框架又分为单文档和多文档框架; 3、通过一个简单的框架(列表)视图程序,演示框架程序的启动原理,以及框架与视图窗口的创建方法;
1、分析和CFrameWnd::LoadFrame函数的原理,并且对比与CFrameWnd::Create函数的关系与区别; 2、演示框架程序的增删改查等数据管理的项目开发过程,以及框架程序的菜单与快捷键管理;
1、深入PreCreateWindow虚函数对框架和视图的创建过程的影响; 2、演示最简单的分隔器窗口(Frame-Splitter模型)的开发方法;
1、深入研究Splitter分隔器窗口的原理,进一步完善资源管理器程序的开发方法; 2、演示多层次分隔器窗口(Frame-Splitter-Splitter模型)的开发方法;
1、演示通过EditView快速开发一个记事本项目的过程,包括菜单以及快捷键等资源编辑和功能实现; 2、多文档框架程序的内部窗口组成,包括:CMDIFrameWnd和CMDIChildWnd的多层框架爱窗口管理; 3、演示通过多文档框架开发一个浏览器软件项目的过程,包括地址栏的以及浏览痕迹功能的开发方法;
1、通过简单的对话框程序演示使用CFile类对数据保存和加载的过程; 2、通过简单的对话框程序演示使用CArchive类对数据保存和加载的过程; 3、CArchive类的原理分析,包括对比ArchiveCFile保存的文件的区别;
1、演示在单文档视图框架程序中,使用CArchive类对数据保存与加载的方法; 2、演示使用CDocument类来实现数据保存与加载的方法,核心技术是CDocument::Serialize回调函数;
1、演示CDocument类对比其他存储方法的优势,并深入解析串行化存储的原理。 (即CObject::Serialize回调函数的原理) 2、将CDocument类溶入视图与框架程序中,逐步将程序架构向文档模板架构模型靠近。
1、通过新建文档模板架构的MFC工程,来开发一个增删改查的信息管理项目; (并通过CDocument类自动存储信息管理数据) 2、通过新建文档模板架构的MFC工程,来开发一个绘图软件的信息管理项目;
1、继续完善开发基于文档模板架构的绘图软件,包括多种图层的绘制和拖动以及图形颜色设置等; 2、拖过文档模板架构内的CDocument派生类,对所有绘制好的图层种类、以及颜色等各种数据进行串行化存储;
详细MFC六大关键技术的原理: (1)MFC程序的初始化过程: 建立一个最简单的MFC程序只用两步。从CWinApp派生一个应用程序类(CMyApp),然后建立对象(theApp)。之后整个程序的编写,就只需要改写一个InitInstance()函数。 (2)运行时类型识别(RTTI) 运行时类型识别(RTTI)即是程序执行过程中知道某个对象属于某个类,参见CRuntimeClass类。 (3)动态创建: 动态创建就是运行时创建指定类的对象,而创建的对象在MFC内部能够被动态识别。在MFC中大量使用。如框架窗口对象、视对象,还有文档对象等等。参见CFrameWnd,CView和CDocument等类,按F12查阅相关的宏定义,例如:DECLARE_DYNCREATE和IMPLEMENT_DYNCREATE。 (4)永久保存(串行化): MFC的连续存储(serialize)机制俗称串行化,参见CDocument类。 (5)消息映射: 消息映射机制,就是将窗口消息与窗口类函数地址进行对应。当消息发生时,自动调用该类对应的类函数的机制。参见BEGIN_MESSAGE_MAP 和 END_MESSAGE_MAP宏定义 (6)命令传递: 命令传递机制,主要处理WM_COMMAND消息在不同窗口之间的传递。参见 CCmdTarget::OnCmdMsg函数。
1、在图形软件项目开发中,编辑和添加用于绘图管理的窗口菜单; 2、在图形软件项目开发中,开发用于图层前置、后置和删除等功能的上下文菜单; 3、通过双缓冲技术以及去除背景刷新等方法,解决绘图软件的闪烁问题;
1、详细分析CMenu菜单类的常用函数的功能; 2、开发一个彩色带图标的CMenuEx自绘菜单类,并在绘图软件中用于图层前置、后置和删除等功能开发;
1、演示工具栏在框架窗口中的创建方法,并且对各种工具栏及按钮的风格进行介绍; 2、演示工具栏文字设置,包括文字在图标下面和右边两种模式;
1、通过多种方法设置工具栏按钮图标方法对比,演示真彩色工具栏的开发方法; 2、演示带下拉菜单的工具栏按钮,包括和按钮旁边的下拉和全部按钮下拉的开发方法;
1、和演示状态栏在框架窗口中的创建方法,包括状态栏风格以及内部窗格(器)的设置方法; 2、进一步完善资源浏览器项目的开发,包括在树形视图中盘符管理以及列表视图中文件和目录名的列表管理; 3、将资源管理器的软件的列表视图中的一些数据,显示在状态栏的不同窗格内,并在状态栏的窗格内显示图标和文字等;
1、概要介绍一些基本网络常识和术语,包括IP地址和端口的概念等; 2、构建一个简单的局域网的方法,以及通过WMware软件划分虚拟主机的方法; 3、演示通过MFC类库中的CSocket类,开发一个简单的UDP网络通讯软件的过程;
1、对比CSocket类网络数据收发,与CFile类文件数据读写两种数据操作的相似性与区别; 2、演示通过MFC类库中的CSocket类,开发一个简单的TCP网络通讯软件的过程;
1、在TCP(CS架构)模型的通讯软件的基础上,继续开发出一个基于局域网的聊天室软件; 2、服务器将收到的任何一个客户端发来的消息,再群发给其他所有处于连接状态的客户端; 3、通过开发一个增删改查的网络信息管理系统,演示TCP网络协议的开发方法;
1、继续完善TCP网络协议软件的开发,包括增删改查过程的开发测试; 2、通过开发局域网用户上下线通知以及在线列表功能,演示UDP网络协议的开发方法;
1、继续完善UDP网络协议软件的开发,包括用户上下线通知以及用户之间的文字传输功能;(P2P模式) 2、和演示通过TCP短连接模式,来开发一个C/S架构的信息管理系统的方法;
六字大明咒“唵嘛呢叭咪吽(OM MAŅI PADME HUM) 源于梵文,是大慈大悲观世音咒,象征一切诸的慈悲与。此咒即是观世音的微妙本心,久远劫前,自己就是持此咒而成佛的,佛名明。六字大明咒是“唵啊吽”三字的扩展,其内涵异常丰富、奥妙无穷、至高无上,蕴藏了中的大能力、大智慧、大慈悲。 唵:表示佛部心,代表法、报、化三身,也可以说成三金刚(身金刚、语金刚、意金刚),是所有诸佛的智慧身、语、意。 嘛呢:表示宝部心,就是摩尼宝珠,取之不尽、用之不竭、随心所愿、无不满足,向它祈求自然会得到需求和各种物质财富。 叭咪:表示部心,就是出污泥而不染的,表示现代人虽处于五浊恶世的中,但诵此,就能去除烦恼,获得。 吽:表示金刚部心,是祈愿成就的意思,必须依靠佛的力量,才能循序渐进、勤勉、普渡、成就一切,最后达到佛的境界。