7种访问对话框控件的方式,他们分别是:
·GetDlgItem()->Get(Set)WindowText()
·Get(Set)DlgItemText()
·Get(Set)DlgItemInt()
·将控件与整型变量相关联()
·将控件与控件变量相关联
·DendMessage()
·SendDlgItemMessage()
下面以一个对话框上的两个编辑框(IDC_EDIT1和IDC_EDIT2)的求和放到第三个编辑框(IDC_EDIT3)上为例进行说明(他们的ID分别为IDC_EDIT1,IDC_EDIT2和IDC_EDIT3):
⑴. 用CWnd的成员变量GetDlgItem->GetWindowText和
GetDlgItem->SetWindowText实现:
void CDialogDlg::OnBnClickedButton3()
{
// TODO: Add your control notification handler code here
int num1,num2,num3;
char ch1[10],ch2[10],ch3[10];//定义3个大小为10的字符数组
GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);
GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);
num1 = atoi(ch1);//为了求和,必须将字符形式(文本)的内容转为数值
num2 = atoi(ch2);
num3 = num1 + num2;
itoa(num3,ch3,10);//为了显示,将数值转化为文本,第三个参数10表示转换的进制,这里是十进制
GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);
}
⑵. 用CWnd的成员变量GetDlgItemText和