访问对话框的七种方法(下)

方法4:把控件和整型变量关联

方法5:把控件和控件变量相关联

关联用到的四个函数:

DoDataExchange()

DDX_xxxx()

DDV_xxxx()

UpdateData()

将编辑框EDIT1右击,选择添加变量,调整成如下的模式:


其他的编辑框按照此方式进行关联设置,然后编辑第四个按钮函数

void CMFCDlg::OnBnClickedButton4()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);//从界面关联到变量里
m_num3=m_num1+m_num2;
UpdateData(FALSE);//从变量关联到界面上
}

在进行关联之后,源代码会出现如下的关联代码:

void CMFCDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_num1);
DDX_Text(pDX, IDC_EDIT2, m_num2);
DDX_Text(pDX, IDC_EDIT3, m_num3);
DDV_MinMaxInt(pDX, m_num1, 100, 200);
}

控件的关联:


第五个按钮程序:

void CMFCDlg::OnBnClickedButton5()
{
// TODO: 在此添加控件通知处理程序代码
int num1,num2,num3;
TCHAR ch1[12],ch2[12],ch3[12];
m_edit1.GetWindowText(ch1,12);
m_edit2.GetWindowText(ch2,12);
num1=_ttoi(ch1);
num2=_ttoi(ch2);
num3=num1+num2;
_itot(num3,ch3,10);
m_edit3.SetWindowText(ch3);

}


利用windows的方法:

方法6:

  1. void CMFCDlg::OnBnClickedButton6()
  2. {
  3. // TODO: 在此添加控件通知处理程序代码
  4. int num1,num2,num3;
  5. TCHAR ch1[ 12],ch2[ 12],ch3[ 12];
  6. //全局作用的windowsAPI函数(窗口句柄,获取消息,消息大小,传递给ch1)
  7. ::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT, 12,(LPARAM)ch1);
  8. ::SendMessage(GetDlgItem(IDC_EDIT2)->m_hWnd,WM_GETTEXT, 12,(LPARAM)ch2);
  9. num1=_ttoi(ch1);
  10. num2=_ttoi(ch2);
  11. num3=num1+num2;
  12. _itot(num3,ch3, 10);
  13. ::SendMessage(GetDlgItem(IDC_EDIT3)->m_hWnd,WM_SETTEXT, 0,(LPARAM)ch3);
  14. }
方法7:

  1. void CMFCDlg::OnBnClickedButton7()
  2. {
  3. // TODO: 在此添加控件通知处理程序代码
  4. int num1,num2,num3;
  5. TCHAR ch1[ 12],ch2[ 12],ch3[ 12];
  6. SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT, 12,(LPARAM)ch1);
  7. SendDlgItemMessage(IDC_EDIT2,WM_GETTEXT, 12,(LPARAM)ch2);
  8. num1=_ttoi(ch1);
  9. num2=_ttoi(ch2);
  10. num3=num1+num2;
  11. _itot(num3,ch3, 10);
  12. SendDlgItemMessage(IDC_EDIT3,WM_SETTEXT, 0,(LPARAM)ch3);
  13. }

猜你喜欢

转载自blog.csdn.net/hk121/article/details/80969753