没什么技术含量,就是对vc的一个基本认识.知道怎么从对话框取值.
图片:
一个基于对话框的MFC程序
有两个输入框: IDC_EDIT1和IDC_EDIT2
一个按钮:IDC_BUTTON
一个Label:IDC_Label
然后给按钮添加一个事件:void CCalDlg::OnButtonClicked()
事件的代码
void
CCalDlg::OnButtonClicked()
{
CStringstr1,str2; // 保存取到的字符
char strResult[ 100 ]; // 保存结果字符
int num1,num2; // 保存转换的整数
GetDlgItem(IDC_EDIT1) -> GetWindowText(str1); // 取得Edit文本
num1 = atoi(str1); // 字符串转为整数
GetDlgItem(IDC_EDIT2) -> GetWindowText(str2);
num2 = atoi(str2);
num2 = num1 + num2;
itoa(num2,strResult, 10 ); // 整数转为字符串
SetDlgItemText(IDC_Label,strResult); // 显示结果
}
{
CStringstr1,str2; // 保存取到的字符
char strResult[ 100 ]; // 保存结果字符
int num1,num2; // 保存转换的整数
GetDlgItem(IDC_EDIT1) -> GetWindowText(str1); // 取得Edit文本
num1 = atoi(str1); // 字符串转为整数
GetDlgItem(IDC_EDIT2) -> GetWindowText(str2);
num2 = atoi(str2);
num2 = num1 + num2;
itoa(num2,strResult, 10 ); // 整数转为字符串
SetDlgItemText(IDC_Label,strResult); // 显示结果
}
相关知识:
1.如何取得对话框中的文本.
两种方法:
- int GetDlgItemText( int nID, // 控件ID
LPTSTR lpStr, //字符串数组
int nMaxCount //最大的字符数
) const; //在一个窗口控件中读取文本到字符数组中
注意:它的返回值是字符串长度. - GetDlgItem(IDC_EDIT1)->GetWindowText(Cstring)
2.如何把字符串转换为整数,整数转为字符串
- 字符串转整数
int atoi( const char *string ); // 把一个字符串转为INT 类型的数值 - 整数转字符串
char *_itoa(
int value, //要换的数值
char *string, //转换成的字符串
int radix //数值的进制 2--36
); //把一个数值转换成字符串
3,一步到位,直接取输入的数字:
- UINT GetDlgItemInt(
int nID, //控件ID
BOOL* lpTrans = NULL, //控件文本是否有非数字字符,当设为NULL 时,不进行报错
BOOL bSigned = TRUE ) //是否为有符号数值
const; //获得控件文本,并转换成数值类型 - void SetDlgItemInt(
int nID, //控件ID
UINT nValue, //数值
BOOL bSigned = TRUE //是否为有符号数值
); //把一个数值设置成控件文本 - 精简后的代码
int num1,num2;
num1 = GetDlgItemInt(IDC_EDIT1,NULL, true );
num2 = GetDlgItemInt(IDC_EDIT2,NULL, true );
SetDlgItemInt(IDC_Label,num1 + num2, true );
下载源文件:
http://download1.csdn.net/down3/20070517/17134316759.7z