您好,欢迎访问三七文档
1、设计一个列表框应用程序,对话框中包含一个静态文本框、两个列表框和一个命令按钮,控件的标题和布局如下图所示。初始状态下,左侧列表框中有4个项目:张三、李四、王五、赵六,右侧列表框为空;选中左侧列表框中的一项,点击“添加”按钮,所选项目添加到右侧列表框;双击左侧列表框中的某一项,该项也会添加到右侧列表框。(1)、建立工程新建工程MFCAppWizard[.exe]确定工程的名字(2017作业1)存储位置确定删除原先的Ok和Cancel按钮(左键单击选中,使用键盘的Delete键删除)(2)界面、设变量控件ID属性变量变量类型对话框收件人静态框请选择收件人列表框IDC_LIST1m_List1CListBox列表框IDC_LIST2m_List2CListBox按钮IDC_BUTTON1添加(3)编写代码初始化代码列表框1中有列表项,需要初始化。类向导MessageMaps对话框对象(ObjectIDs):CMy20171Dlg,消息(Message)WM_INITDIALOGEditCode(红色为我们添加)BOOLCMy20171Dlg::OnInitDialog(){CDialog::OnInitDialog();……...//原有代码,略//TODO:Addextrainitializationherem_List1.AddString(张三);m_List1.AddString(李四);m_List1.AddString(王五);m_List1.AddString(赵六);returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}效果如图,不符合题目要求,因为列表顺序不对,那怎么解决,使用intInsertString(intnIndex,LPCTSTRlpszItem);代码如下:BOOLCMy20171Dlg::OnInitDialog(){CDialog::OnInitDialog();…….//已有自动生成的代码,红色为我们添加//TODO:Addextrainitializationherem_List1.InsertString(0,张三);m_List1.InsertString(1,李四);m_List1.InsertString(2,王五);m_List1.InsertString(3,赵六);returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}“”添加“”按钮代码类向导MessageMaps对话框对象(ObjectIDs):IDC_BUTTON1,消息(Message)BN_CLICKEDAddFunctionOKEditCodevoidCMy20171Dlg::OnButton1(){//TODO:AddyourcontrolnotificationhandlercodehereCStrings;m_List1.GetText(m_List1.GetCurSel(),s);m_List2.AddString(s);}双击左侧列表框中的某一项,该项也会添加到右侧列表框。编写MFC程序,最重要的三件事:O(object)、M(message)、E(event).本要求的结果与“添加”按钮相同,但是触发对象与事件不同,触发对象是列表框IDC_list1,消息是LBN_LDBLCK,事件函数是;OnDblclkList()代码因为与添加按钮相同,方法一,是将添加代码复制到此函数内。方法二是,调用添加按钮函数执行:voidCMy20171Dlg::OnDblclkList1(){//TODO:AddyourcontrolnotificationhandlercodehereOnButton1();}2、设计一个编辑框应用程序,对话框中有两个编辑框和一个按钮,按钮的标题是“计算阶乘”。程序运行时,在左侧编辑框中输入一个小于30的整数,单击“计算阶乘”按钮,在右侧编辑框中显示它的阶乘值(如下图所示)。(4分)(1)、建立工程新建工程MFCAppWizard[.exe]确定工程的名字(2017作业1)存储位置确定删除原先的Ok和Cancel按钮(左键单击选中,使用键盘的Delete键删除)(2)界面、设变量控件ID属性变量变量类型对话框阶乘编辑框IDC_EDIT1m_Edit1int编辑框IDC_EDIT2m_Edit2float按钮IDC_BUTTON1计算阶乘(3)编写代码voidCMy20172Dlg::OnButton1(){//TODO:Addyourcontrolnotificationhandlercodehereinti;UpdateData(true);m_Edit2=1;for(i=1;i=m_Edit1;i++)m_Edit2=m_Edit2*i;UpdateData(false);}3、设计一个组合框应用程序,对话框有两个静态文本框、一个组合框、一个编辑框和一个命令按钮,控件标题和布局如图1所示:其中加班类型有三种选择:平时加班、双休加班和法定加班,相应的加班费分别为每小时15元、每小时20元和每小时30元;输入加班的小时数后,点击“确定”按钮,提示加班费共多少元,如图2所示。图1图2(1)、建立工程新建工程MFCAppWizard[.exe]确定工程的名字(2017作业1)存储位置确定删除原先的Ok和Cancel按钮(左键单击选中,使用键盘的Delete键删除)(2)界面、设变量控件ID属性变量变量类型对话框加班费组合框IDC_COMBO1m_Combo1CComboBox编辑框IDC_EDIT1m_Edit1int按钮IDC_BUTTON1确定(3)编写代码初始化组合框有初始值初始化方法有两种:第一种:选定组合框右键属性(Propertes)数据(Data)注意使用Ctrl+Enter换行,最后一行不使用方法2:类向导MessageMaps对话框对象(ObjectIDs):CMy20173Dlg,消息(Message)WM_INITDIALOGEditCode(红色为我们添加)BOOLCMy20171Dlg::OnInitDialog(){CDialog::OnInitDialog();……...//原有代码,略//TODO:Addextrainitializationherem_Combo1.AddString(平时加班);m_Combo1.AddString(双休加班);m_Combo1.AddString(法定加班);returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}注意使用AddString函数向列表框里添加列表项,结果顺序是第一个字母在字母表中的顺序(汉字是其拼音在字母表中的顺序)“确定”按钮代码:voidCMy20173Dlg::OnButton1(){//TODO:Addyourcontrolnotificationhandlercodehereintdj,jbf;chars1[50],s2[50];strcpy(s1,加班费:);UpdateData(true);if(m_Combo1.GetCurSel()==0)dj=30;elseif(m_Combo1.GetCurSel()==1)dj=15;elsedj=20;jbf=m_Edit1*dj;itoa(jbf,s2,10);strcat(s1,s2);MessageBox(s1,加班费);}效果如下:4、设计一个菜单应用程序,如图1所示。菜单栏包含“文件”、“帮助”两个子菜单,“文件”子菜单中包含3个菜单项:打开、关闭、退出。“帮助”子菜单中包含1个菜单项:关于。要求:①“关闭”和“退出”之间有一条分割线;②实现“退出”和“关于”菜单项的功能,点击“退出”,关闭对话框,退出程序;点击“关于”,弹出关于对话框,如图2所示。(4分)图1图25、设计一个复选框应用程序,对话框中有一个命令按钮和两个复选框,按钮的标题是“示例按钮”,两个复选框的标题分别是“无效”和“隐藏”,布局如图所示。编写适当的代码使得选中“无效”复选框,“示例按钮”变无效,取消“无效”复选框的选中状态,“示例按钮”恢复有效;选中“隐藏”复选框,“示例按钮”消失,取消“隐藏”复选框的选中状态,“示例按钮”显示。(4分)(1)建立工程新建工程MFCAppWizard[.exe]确定工程的名字(2017zuoye5)存储位置确定删除原先的Ok和Cancel按钮(左键单击选中,使用键盘的Delete键删除)(2)界面、设变量控件ID属性变量变量类型对话框复选框复选框IDC_CHECK1m_Check1BOOL复选框IDC_CHECK2m_Check2BOOL按钮IDC_BUTTON1示例按钮(3)编写代码复选框1的BN_CLICKED代码:voidCMy2017zuoye5Dlg::OnCheck1(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(true);if(m_Check1==true){GetDlgItem(IDC_BUTTON1)-EnableWindow(false);}elseGetDlgItem(IDC_BUTTON1)-EnableWindow(true);}复选框2的BN_CLICKED代码:voidCMy2017zuoye5Dlg::OnCheck2(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(true);if(m_Check2==true){GetDlgItem(IDC_BUTTON1)-ShowWindow(SW_HIDE);}elseGetDlgItem(IDC_BUTTON1)-ShowWindow(SW_SHOW);}6、设计一个单选按钮应用程序,对话框中有一个静态文本框、三个单选按钮和两个命令按钮,控件标题和布局如图1所示。程序运行时,选中不同的单选按钮,单击“提交”按钮后给出不同的消息提示:如果选中“很好”,提交后显示“亲,下次给你包邮哦!”(如图2所示);选中“一般”,提交后显示“亲,我会继续努力哦!”;选中“很差”,提交后显示“亲,有问题一定联系我哦!”。(4分)图1图2(1)建立工程新建工程MFCAppWizard[.exe]确定工程的名字(2017zuoye5)存储位置确定删除原先的Ok和Cancel按钮(左键单击选中,使用键盘的Delete键删除)(2)界面、设变量控件ID属性变量变量类型对话框评价单选按钮IDC_RADIO1很好,组(group)选中m_Radio1int单选按钮IDC_RADIO2一般单选按钮IDC_RADIO3很差按钮IDC_BUTTON1提交(3)编写代码voidCMy2017zuoye6Dlg::OnButton1(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(true);if(m_Radio1==0)MessageBox(亲,下次给你包邮哦!,评价);elseif(m_Radio1==1)MessageBox(亲,我会继续努力哦!,评价);elseMessageBox(亲,有问题一定联系我哦!,评价);}7、设计一个运费计算器,运费=单价*重量*里程*(1-折扣),单价、重量、里程由编辑框输入,折扣率使用单选按钮表示,要求输入里程后能够自动选取单选按钮,并按照相应折扣计算出运费。折扣率按照如下规则设置s250km0;250≤s5002%;500≤s10005%;1000≤s20008%;2000≤s300010%;3000≤s15%;(10分)。(1)建立工程
本文标题:MFC应用例题
链接地址:https://www.777doc.com/doc-5978811 .html