欢迎来到天天文库
浏览记录
ID:52110377
大小:314.00 KB
页数:31页
时间:2020-03-31
《《进制转换计算器》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第11讲进制转换计算器12本讲主要内容1.单选按钮控件2.复选框控件31.单选按钮控件单选按钮时一个圆圈和文本标签组合,当它被选中时,圆圈中就标上一个黑点。单选按钮通常是分组使用,同一组的单选按钮具有互斥性,即某一单选按钮被选中会清除同组内其他单选按钮的选中状态。通过将某一单选按钮Properties中General选项卡中勾选Group标识某一组开始,直到下一个Group标识出现,其顺序是Tab键顺序(单击菜单Layout
2、TabOrder命令)。41.单选按钮控件操作步骤:(1)打开IntegerCalculator工程,添加2个单选按钮,如下图所示,其ID值分别为
3、IDC_RADIODEC和IDC_RADIOOCT。52.单选按钮控件(2)选中IDC_RADIODEC控件Properties中General选项卡中Group选项。。(3)打开ClassWizard的MemberVariables选项卡,为IDC_RADIODEC添加关联变量m_nHex,如下图所示,并在CIntegerCalculatorDlg类的构造函数中将其初始值改为0,表示10进制为默认选项。。61.单选按钮控件71.单选按钮控件(4)为打开ClassWizard的MessageMaps选项卡,为IDC_RADIODEC和IDC_RADIOOCT添加BN_C
4、LICKED消息,生成OnRadiodec()和OnRadiooct()函数,并添加如下代码:81.单选按钮控件voidCIntegerCalculatorDlg::OnRadiodec(){CButton*p8=((CButton*)GetDlgItem(IDC_B8));//通过ID得到按钮控件对象的指针p8->EnableWindow(TRUE);//使按钮可用CButton*p9=((CButton*)GetDlgItem(IDC_B9));p9->EnableWindow(TRUE);transform();//进制转换}其中GetDlgItem()函数的功能
5、是根据控件ID获取对话框中控件的句柄,其函数声明为:CWnd*GetDlgItem(intnID)const;其中nID为控件的ID值。而EnableWindow()函数是CWnd类的成员函数,功能是使窗口允许或禁止,其函数声明为:BOOLEnableWindow(BOOLbEnable=TRUE);其中bEnable为TRUE,则窗口被允许,为FALSE,则窗口将被禁止。9voidCDialog10Dlg::OnRadiooct(){//TODO:AddyourcontrolnotificationhandlercodehereCButton*p8=((CButton
6、*)GetDlgItem(IDC_B8));//通过ID得到按钮控件对象的指针p8->EnableWindow(FALSE);//使按钮不可用CButton*p9=((CButton*)GetDlgItem(IDC_B9));p9->EnableWindow(FALSE);transform();//进制转换}101.单选按钮控件(5)编写transform()函数,在IntegerCalculatorDlg.h文件中添加函数声明voidtransform();,在IntegerCalculatorDlg.cpp文件中添加如下代码。voidCIntegerCalcula
7、torDlg::transform(){UpdateData(TRUE);//获得数据if(m_nHex==0)//10进制单选按钮被选中m_nValue=octToDec(m_nValue);//将8进制转换为10进制else//8进制单选按钮被选中{chars8[30];itoa(m_nValue,s8,8);//将10进制转换为8进制m_nValue=atoi(s8);}UpdateData(FALSE);//更新界面,显示转换后结果}octToDec()函数为自定义函数,功能是将8进制数值转换为10进制数值同样10进制转换为8进制,我们也可以参照上面的思路编写一
8、个转换函数,也可以采用现有的库函数进行转换。itoa()函数的功能是将整数转换为字符串,其原型为:char *itoa(intvalue,char*string,intradix);其中参数含义为:value:待转换整数。string:转换后字符串指针radix:转换基数,可以是2进制、8进制、10进制和16进制。atoi()函数的功能是将字符串转换为整数,转换过称谓跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('/0')才结束转换,并将结果返回。其函数原型为:intatoi(constchar*n
此文档下载收益归作者所有