【vc++精品源码栏目提醒】:网学会员在vc++精品源码频道为大家收集整理了“【精品】第一章使用MFC - 其它资料“提供大家参考,希望对大家有所帮助!
第一章 使用MFC 学习目标1 建立MFC工程2 建立控件与成员变量的关联3 建立消息映射函数4 掌握CString字符串类的使用 建立MFC工程 打开VC选择主菜单,File-New建立在Projects选项卡中选择MFC AppWizardEXE MFC AppWizard是一个辅助我们生成源代码的向导工具,它可以帮助我们自动生成基于 MFC框架的源代码。
该向导的每一个步骤中,我们都可以根据需要来选择各种特性,从 而实现定制应用程序 可以建立Dialog、SDI和MDI 3种界面类型的MFC工程 – Dialog:是建立基于对话矿模式的界面,可参照的软件如附件中的“计算器” – SDI:是建立单文档模式的界面,可参照附件中的“画笔”和“记事本”等。
– MDI:建立多文档模式的界面,可参照的软件如VC就是MDI模式的软件。
一般MDI模 式软件在界面右上角有2层关闭按钮,外层用于关闭软件,内层用于关闭某个文档。
使用向导中的上下文帮助按钮,点击每个多选按钮查看功能 选择不同的选项查看,生成的MFC代码有什么不同 – 对比选择Dialog、SDI和MDI建立的工程,包含有不同CPP和H文件。
– 对比选择不同的选项,在App::InitInstance初始化函数中的代码的变化。
使用AppWizard 。
选择应用程序界面类型察看Appwizard其他选项对照Dialog类型的代 码 例如选择创建Dialog类型的程序,主要生成2个的类:App和Dlg类 – 如果选择了About Box选项,还会生成CAboutDlg类。
– 向导生成的代码在系统菜单中,显示关于版本信息的对话框。
– 分析Dlg类中生成的OnSysCommand函数 – if nID 0xFFF0 IDM_ABOUTBOX – – CAboutDlg dlgAbout – dlgAbout.DoModal – – 编译运行向导生成的执行文件,找出弹出关于对话框的系统菜单的位置。
查看App::InitInstance函数 主对话框弹出的代码,是对话框类型程序的基本代码: – CTestDlg dlg – m_pMainWnd dlg – int nResponse dlg.DoModal 在向导中选择Windows Sockets生成的代码 – if AfxSocketInit。
。
。
在向导中选择Automation生成的代码 – if AfxOleInit。
。
。
– COMComponent Objiect Module是目前比较流行的一种开发模式。
– OLE和ActiveX的是最早的一种COM概念,是COM的萌芽状态。
在向导中选择As a statically linked library不生成代码 – 动态和静态连接选项不生成代码,而是改变了生成时的连接模式。
– 使用ALTF7查看MFC的连接模式。
– 一般的软件通常使用静态连接,把MFC代码直接编译进入执行文件内部。
MFC的连接模式 建立控件与成员变量的关联 打开资源管理,查看资源管理器中的Dialog – 添加一些控件给Edit控件和按钮设置ID: – IDC_ADD1,IDC_ADD2,IDC_RESULT和IDC_CALCULATE – 按CtrlW在类向导中设置,分别为3个Edit控件设置关联变量 – int m_nAdd1m_nAdd2m_nResult 使用类向导设置成员变量 关联变量分为控件类型和数值类型 – 控件类型变量可以用于控件的窗口操作,例如:变灰、改变标题等。
查看生成的关联代码 查看Dlg.h头文件中的成员变量: – 向导生成了3个int变量 查看构造函数中3个变量的初始化 查看Dlg.cpp源文件中DoDataExchange函数中: – 向导生成了3个DDX_Text函数 双击计算按钮,建立OnCalculate消息映射函数 – 点击OK编辑生成映射函数 编辑消息映射函数 查看BEGIN_MESSAGE_MAP下面的消息映射宏: – 增加了ON_BN_CLICKED消息映射宏。
– 代表当点击IDC_CALCULATE按钮时,映射到OnCalculate函数中。
运行调试消息函数: – 在函数OnCalculate中设置断点,F5运行并调试生成的执行文件。
– 运行起来后,在左边2个编辑框中输入一些数字,点击计算按钮。
– 在OnCalculate函数中添加代码: – – UpdateDataTRUE – m_nResultm_nAdd1m_nAdd2 – UpdateDataFALSE – – 按F10,单步执行并查看过程中的变量变化情况。
CWnd::UpdateData函 数 打开MSDN查看UpdateData函数的说明 – 该函数主要处理窗口与关联变量的交换。
– 主要是参数,本别使用RUE和FALSE调用时,区别