如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
实验三:MFC基本控件实验学号:2011329700214姓名:周咪咪班级:11数媒(2)班实验目的1.了解MFC基本控件的使用方法。2.掌握MFC基本控件的消息处理方法。实验内容1.使用按钮、文本框、图像框、列表框等控件编程。实验步骤及源代码首先打开VC,选择MFCAppWizard[exe],设定好路径和工程名(这里我设置工程名为为“My”)。这里要注意的是在创建向导步骤1的时候,我们选择“基本对话框”。点击完成便看到以下界面,把当前页面上IDD_SY3_DIALOG中原有的“确定”和“取消”控件按Delete全部清除。根据实验要求将所有控件放入对话框模板中,然后作出相应调整,最终形成实验结果图示要求的界面。因为原实验界面较复杂,为了简化界面,将其改为如下界面。上图我们用按钮控件添加一共16个按钮,分别是数字“0~9”以及“+-*/”和".="。编辑框组件共4个,第1.2个是输入数据,第3个显示运算结果。修改按钮的ID和显示数字,编辑框ID,达到看ID知道目的。按钮对应的ID表如下:ID显示的数ID显示的数ID显示的数IDC_BUTTON11IDC_BUTTON88IDC_point.IDC_BUTTON22IDC_BUTTON99IDC_dengyu=IDC_BUTTON33IDC_BUTTON00IDC_BUTTON44IDC_add+IDC_BUTTON55IDC_reduce-IDC_BUTTON66IDC_chen*IDC_BUTTON77IDC_chu/编辑框对应的ID如下:功能ID输入的第1个数IDC_EDIT1输入的第2个数IDC_EDIT2输出的结果IDC_EDIT3给控件添加消息响应为所以组件添加消息响应,基本操作可以是直接双击控件,便会有向导提示。MFC默认下了的响应信息都为On_开头,这步骤一般不对成员函数名称做任何修改,直接点击OK即可。之后会跳转到具体的代码实现过程。基本上完成了计算器页面的前半部分预备工作,下来是我们的对控件具体实现代码的添加。添加3个成员变量和一个CEdit类的变量。具体添加方法,可以是在菜单栏中选择“查看”->“建立类向导”->MemberVariable.这里我们把3个编辑框控件内的变量都改变为double型的(因为进行四则运算难免出现小数点),m_num1(第1个输入的数)、m_num2(第2个输入的数)、m_result1(输出的结果)。之后再在控件IDC_EDIT3中选择"AddVariable",并且数据类型选择Control类型此时变量自动改为了CEdit类,把编辑框控件3的设置为CEdit类并且设置一个成员对象是m_result。(3)添加完成后观察到如下:控件消息响应函数具体代码添加部分。运算部件控制(加减乘除)UpdateData()是MFC的窗口函数,用来刷新数据的,由于我们进行基本运算需要更新数据所以必须添加这个函数。2)n_result=m_num1+m_num2;m_result=n_result;charsz[20];sprintf(sz,"%f",m_result);以上代码是进行加法的基本语句,然后数组保存并格式化打印输出。进行其他运算只需要修改运算符"+"为对应的运算符即可。3)m_CResult.SetWindowText(sz);此句是把结果输出在之前用CEdit类创建的对象m_CResult,m_CResult调用SetWindowText(sz);把结果显示在编辑框中。4)代码如下:voidCSy3Dlg::Onadd()//加法消息响应函数{//TODO:AddyourcontrolnotificationhandlercodehereUpdateData();doublen_result;n_result=m_num1+m_num2;m_result1=n_result;charsz[20];sprintf(sz,"%f",m_result);m_result.SetWindowText(sz);}voidCSy3Dlg::Onreduce()//减法消息响应函数{//TODO:AddyourcontrolnotificationhandlercodehereUpdateData();doublen_result;n_result=m_num1-m_num2;m_result1=n_result;charsz[20];sprintf(sz,"%f",m_result);m_result.SetWindowText(sz);}voidCSy3Dlg::Onchen()//乘法消