




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
功能概述本应用是讲从数字键盘输入的某进制的数据按要求转换成其他进制的数据,以实现进制转换。本例程是基于对话框的工程,用一个对话框作为应用程序的主窗口,同时实例通过各种控件实现进制转换功能。其中,控件主要包括以下类型:编辑框,命令按钮、静态文本、群组框、单选按钮、复选框。其中主要控件功能为:■“输入数据”和“转换数据”编辑框,分别用于显示输入的数矩和转换的结果。•“转换为八进制”、“转换为十六进制”、“转换为十进制”三个命令按钮。用于将输入的数据转换为其他的进制。“重新开始”按钮用于将输入的数据和转换的数据清空。•“八进制”、“十进制”、“十六进制”单选按钮对应输入数据的进制。同时为防止输入某进制下无效的按钮,对进制无效的按钮施予静止。本实例中默认输入为十进制。•0-9按钮和A-F按钮做为数字键盘•“输入数据加进制符号”和“转换数据加进制符号”•“数据格式显示选择”群组框中两个复选框作为一组。
应用程序实例界面实现步骤步骤一选择file|new命令,打开new对话框,选择project选项卡,设置工程名为Calculator然后单击OK按钮。如下图所示:
步骤二打开下图所示对话框,选择基本对话框,其余设置均采用默认操作,单击“完成”按钮完成整个工程的创建,如下图:
步骤三在应用程序的主窗口的对话框资源中添加控件,并为对话框中的各个控件添加成员变量和消息响应函数。在已生成的IDDCALCUATORDIALOG对话框中添加控件资源如下表:控件标题控件类型ID号风格输入数据静态文本IDC_STATIC默认转换数据静态文本IDC_STATIC默认输入数据编辑控件IDC_EDIT_INPUT默认转换数据编辑控件IDC_EDIT_OUTPUT默认0按钮IDC_BUTTON_O默认1按钮IDC_BUTT0N_1默认2按钮IDC_BUTT0N_2默认3按钮IDC_BUTT0N_3默认4按钮IDC_BUTT0N_4默认5按钮IDC_BUTT0N_5默认6按钮IDC_BUTT0N_6默认7按钮IDC_BUTTON_7默认8按钮IDC_BUTT0N_8默认9按钮IDC_BUTT0N_9默认A按钮IDC_BUTTON_A默认
B按钮IDC_BUTTON_B默认C按钮IDC_BUTTON_C默认D按钮IDC_BUTTON_D默认E按钮IDC_BUTTON_E默认F按钮IDC_BUTTON_F默认重新开始按钮IDC_BUTTON_RESET默认转换为八进制按钮IDC_BUTTON_TO_O默认转换为十六进制按钮IDC_BUTTON_TO_H默认转换为十进制按钮IDC_BUTTON_TO_D默认八进制单选按钮IDC_RADIO_O默认十进制单选按钮IDC_RADIO_D默认十六进制单选按钮IDC_RADIO_H默认数据格式选择群组框IDC_STATIC默认输入数据加进制符号复选框IDC_CHECK_INPUT默认输出数据加进制符号复选框IDC_CHECK_OUTPUT默认添加成员变量和消息响应函数消息响应函数如下表:控件ID通知消息消息响应函数IDC_BUTTON_0BN_CLICKEDOnButtonO()IDC_BUTTON_1BN_CLICKED0nButton1()IDC_BUTT0N_2BN_CLICKEDOnButton2()
IDC_BUTT0N_3BN_CLICKED0nButton3()IDC_BUTT0N_4BN_CLICKED0nButton4()IDC_BUTT0N_5BN_CLICKEDOnButton5()IDC_BUTT0N_6BN_CLICKEDOnButton6()IDC_BUTT0N_7BN_CLICKEDOnButton7()IDC_BUTT0N_8BN_CLICKEDOnButton8()IDC_BUTT0N_9BN_CLICKEDOnButton9()IDC_BUTTON_ABN_CLICKEDOnButtonA()IDC_BUTTON_BBN_CLICKEDOnButtonB()IDC_BUTTON_CBN_CLICKEDOnButtonC()IDC_BUTTON_DBN_CLICKEDOnButtonD()IDC_BUTTON_EBN_CLICKEDOnButtonE()IDC_BUTTON_FBN_CLICKEDOnButtonF()IDC_BUTTON_RESETBN_CLICKEDOnButtonReset()IDC_BUTTON_TO_OBN_CLICKEDOnButtonToO()IDC_BUTTON_TO_HBN_CLICKEDOnButtonToH()IDC_BUTTON_TO_DBN_CLICKEDOnButtonToD()IDC_RADIO_DBN_CLICKEDOnButtonRadioD()IDC_RADIO_OBN_CLICKEDOnButtonRadioO()IDCRADIOHBNCLICKEDOnButtonRadioH()成员变量如下表:
控件ID数据类型成员变量IDC_BUTT0N_8CButtonm_Button_8IDC_BUTT0N_9CButtonm_Button_9IDC_BUTTON_ACButtonm_Button_AIDC_BUTTON_BCButtonm_Button_BIDC_BUTTON_CCButtonm_Button_CIDC_BUTTON_DCButtonm_Button_DIDC_BUTTON_ECButtonm_Button_EIDC_BUTTON_FCButtonm_Button_FIDC_EDIT_INPUTCStringm_lnputEditIDC_EDIT_OUTPUTCStringM_OutputEditIDC_CHECK_INPUTBOOLm_Check_lnputIDC_CHECK_OUTPUTBOOLm_Check_Output步骤四通过上述步骤完成各个控件的添加和控制,下面将对对话框进和控件进行编程,以实现目标功数字键按钮初始状态的设定。由于默认的进制为十进制,所以态0~9折十个数字的默认状是enable。因为系统的所有命令按钮的默认状态是enable,所以需要在初始化的时候将A~F的状态设置为disable。选择classview选项卡,双击CCalculatorDig下面的OnInitDialog()并在return钱添加如下代码:m_button_A.EnableWindow(FALSE);m_button_B.EnableWindow(FALSE);m_button_C.EnableWindow(FALSE);m_button_D.EnableWindow(FALSE);m_button_E.EnableWindow(FALSE);m_button_F.EnableWindow(FALSE);在程序运行过程中,数字键按钮的状态需要根据对三个单选按钮的选择而定。它们的事件函数代码分别如下:voidCCalculatorDig::OnRADIOo(){char_radio='O';value=0;m_button_8.EnableWindow(FALSE);m_button_9.EnableWindow(FALSE);m_button_A.EnableWindow(FALSE);m_button_B.EnableWindow(FALSE);m_button_C.EnableWindow(FALSE);m_button_D.EnableWindow(FALSE);m_button_E.EnableWindow(FALSE);m_button_F.EnableWindow(FALSE);voidCCalculatorDig::OnRADIOd(){char_radio='D';value=0;m_button_8.EnableWindow(TRUE);m_button_9.EnableWindow(TRUE);m_button_A.EnableWindow(FALSE);m_button_B.EnableWindow(FALSE);m_button_C.EnableWindow(FALSE);m_button_D.EnableWindow(FALSE);m_button_E.EnableWindow(FALSE);m_button_F.EnableWindow(FALSE);voidCCalculatorDig::OnRADIOh()char_radio='H';value=0;m_button_8.EnableWindow(TRUE);m_button_9.EnableWindow(TRUE);m_button_A.EnableWindow(TRUE);m_button_B.EnableWindow(TRUE);m_button_C.EnableWindow(TRUE);m_button_D.EnableWindow(TRUE);m_button_E.EnableWindow(TRUE);m_button_F.EnableWindow(TRUE);}给数字按钮添加代码,0~7相似以0为例代码如下:voidCCalculatorDig::OnButton0(){//TODO:Addyourcontrolnotificationhandlercodehereinti_chekinput=m_CHECK_INPUT;//.GetState();//获取“数据输入”复选框的状态1:表示选中switch(char_radio){case'Dvalue=value*10+0;str.Format("%d",value);//将输入数据转化为字符串if(i_chekinput==1)//str=str+"d";break;case'O':value=value*8+0;str.Format("%o",value);//将输入数据转化为字符串if(i_chekinput==1)//str=str+"o";break;case'H':value=value*16+0;str.Format("%x",value);//将输入数据转化为字符串if(i_chekinput==1)//str=str+"H";break;}m_inputedit=str;UpdateData(FALSE);8,9不考虑八进制输入一8为例代码如下:voidCCalculatorDig::OnButton8(){inti_chekinput=m_CHECK_INPUT;//.GetState();//获取“数据输入”复选框的状态1:表示选中switch(char_radio){case'D':value=value*10+8;str.Format("%d",value);//将输入数据转化为字符串if(i_chekinput==0)//str=str+"D";break;case'H':value=value*16+8;str.Format("%x",value);//将输入数据转化为字符串if(i_chekinput==0)//str=str+"H";break;}m_inputedit=str;UpdateData(FALSE);//TODO:Addyourcontrolnotificationhandlercodehere}A~F以A为例代码如下:voidCCalculatorDig::OnButtonA(){inti_chekinput=m_CHECK_INPUT;//.GetState();//获取“数据输入”复选框的状态,1表示选中value=value*16+0x0A;str.Format("%x",value);//将输入数据转化为字符串if(i_chekinput==0)//str=str+"H";//TODO:Addyourcontrolnotificationhandlercodehere}三个转换按钮事件的编写代码如下:voidCCalculatorDig::OnBUTTONtod(){//TODO:Addyourcontrolnotificationhandlercodehereinti_checkoutput=m_CHECK_OUTPUT;//.GetState();str.Format("%d",value);if(i_checkoutput==1)str=str+"D";m_outpuedit=str;UpdateData(FALSE);//voidCCalculatorDig::OnBUTTONtoh(){inti_checkoutput=m_CHECK_OUTPUT;//.GetState();str.Format("%0x",value);if(i_checkoutput==0)str=str+"h";m_outpue
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初级的电子电路设计模拟题集及解析
- 2025年乡镇农技站招聘农业物联网维护员考试重点与难点解析
- 抹灰安全教育培训记录课件
- 2025年低熔点金属胶合作协议书
- 2025年大坝建设项目发展计划
- 辽宁省葫芦岛市连山区2025-2026学年上学期七年级开学摸底考试数学试卷(含部分简单答案)
- 2025年微机励磁屏项目合作计划书
- 职教云诊断学题库及答案
- 考试英语搞笑题及答案
- 技能培训知识课件
- 生育津贴相关管理办法
- 2023-2025年中考语文试题分类汇编:记叙文阅读(辽宁专用)解析版
- 2025年公路检测工程师《水运结构与地基》试题及答案
- 学校食堂从业人员食品安全知识培训考试试题(含答案)
- 电影艺术概述-设计艺术-人文社科-专业资料
- 2025年教科版新教材科学三年级上册全册教案设计(含教学计划)
- 医院药品采购与质量控制规范
- 数控机加工技术知识培训课件
- 支部纪检委员课件
- 从+“心”+出发遇见更好的自己-开学第一课暨心理健康教育主题班会-2025-2026学年高中主题班会
- 2025版仓储库房租赁合同范本(含合同生效条件)
评论
0/150
提交评论