该【进制转换计算器 】是由【niuww】上传分享,文档一共【30】页,该文档可以免费在线阅读,需要了解更多关于【进制转换计算器 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。1
2
本讲主要内容
3
单选按钮时一个圆圈和文本标签组合,当它被选中时,圆圈中就标上一个黑点。单选按钮通常是分组使用,同一组的单选按钮具有互斥性,即某一单选按钮被选中会清除同组内其他单选按钮的选中状态。
通过将某一单选按钮Properties中General选项卡中勾选Group标识某一组开始,直到下一个Group标识出现,其顺序是Tab键顺序(单击菜单Layout|TabOrder命令)。
4
操作步骤:
(1)打开IntegerCalculator工程,添加2个单选按钮,如下图所示,其ID值分别为IDC_RADIODEC和IDC_RADIOOCT。
5
(2)选中IDC_RADIODEC控件Properties中General选项卡中Group选项。。
(3)打开ClassWizard的MemberVariables选项卡,为IDC_RADIODEC添加关联变量m_nHex,如下图所示,并在CIntegerCalculatorDlg类的构造函数中将其初始值改为0,表示10进制为默认选项。。
6
7
(4)为打开ClassWizard的MessageMaps选项卡,为IDC_RADIODEC和IDC_RADIOOCT添加BN_CLICKED消息,生成OnRadiodec()和OnRadiooct()函数,并添加如下代码:
8
voidCIntegerCalculatorDlg::OnRadiodec()
{
CButton*p8=((CButton*)GetDlgItem(IDC_B8)); //通过ID得到按钮控件对象的指针
p8->EnableWindow(TRUE); //使按钮可用
CButton*p9=((CButton*)GetDlgItem(IDC_B9));
p9->EnableWindow(TRUE);
transform(); //进制转换
}
其中GetDlgItem()函数的功能是根据控件ID获取对话框中控件的句柄,其函数声明为:
CWnd*GetDlgItem(intnID)const;
其中nID为控件的ID值。
而EnableWindow()函数是CWnd类的成员函数,功能是使窗口允许或禁止,其函数声明为:
BOOLEnableWindow(BOOLbEnable=TRUE);
其中bEnable为TRUE,则窗口被允许,为FALSE,则窗口将被禁止。
9
voidCDialog10Dlg::OnRadiooct()
{
//TODO:Addyourcontrolnotificationhandlercodehere
CButton*p8=((CButton*)GetDlgItem(IDC_B8)); //通过ID得到按钮控件对象的指针
p8->EnableWindow(FALSE); //使按钮不可用
CButton*p9=((CButton*)GetDlgItem(IDC_B9));
p9->EnableWindow(FALSE);
transform(); //进制转换
}
10
(5)编写transform()函数,();,。
voidCIntegerCalculatorDlg::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进制,我们也可以参照上面的思路编写一个转换函数,也可以采用现有的库函数进行转换。
itoa()函数的功能是将整数转换为字符串,其原型为:
char *itoa(int value,char *string,int radix);
其中参数含义为:
value:待转换整数。string:转换后字符串指针
radix:转换基数,可以是2进制、8进制、10进制和16进制。
atoi()函数的功能是将字符串转换为整数,转换过称谓跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('/0')才结束转换,并将结果返回。其函数原型为:
intatoi(constchar*nptr);
其中参数含义为:
nptr:待转换字符串。
进制转换计算器 来自淘豆网m.daumloan.com转载请标明出处.