mfc 对话框透明 控件不透明_MFC 访问对话框控件的七种方法

如图是一个简单的加法计算器:

b7221aa928f3c3ea7f494aec135213da.png

方法一:

void CMy01_DemoDlg::OnBnClickedButton1(){// TODO: 在此添加控件通知处理程序代码int num1, num2, num3;TCHAR ch1[12], ch2[12], ch3[12];GetDlgItem(IDC_EDIT1)->GetWindowText(ch1, 12);GetDlgItem(IDC_EDIT2)->GetWindowText(ch2, 12);num1 = _ttoi(ch1);num2 = _ttoi(ch2);num3 = num1 + num2;_itot(num3, ch3, 10);GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);}

方法二:

void CMy01_DemoDlg::OnBnClickedButton2(){// TODO: 在此添加控件通知处理程序代码int num1, num2, num3;TCHAR ch1[12], ch2[12], ch3[12];GetDlgItemText(IDC_EDIT1, ch1, 12);GetDlgItemText(IDC_EDIT2, ch2, 12);num1 = _ttoi(ch1);num2 = _ttoi(ch2);num3 = num1 + num2;_itot(num3, ch3, 10);SetDlgItemText(IDC_EDIT3, ch3);}

方法三:

void CMy01_DemoDlg::OnBnClickedButton3(){// TODO: 在此添加控件通知处理程序代码int num1, num2, num3;num1 = GetDlgItemInt(IDC_EDIT1);num2 = GetDlgItemInt(IDC_EDIT2);num3 = num1 + num2;SetDlgItemInt(IDC_EDIT3, num3);}

方法四和方法五是关联法,常用到的四个函数:

DoDataExchange();DDC_xxxx();//关联变量DDV_xxxx();//验证变量UpdateData();//UpdateData(TRUE)为从编辑框获取数据,UpdateData(FALSE)为更新数据到编辑框
CMy01_DemoDlg::CMy01_DemoDlg(CWnd* pParent /*=NULL*/): CDialogEx(IDD_MY01_DEMO_DIALOG, pParent), m_num1(0), m_num2(0), m_num3(0){m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}void CMy01_DemoDlg::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);DDX_Control(pDX, IDC_EDIT1, m_edit1);DDX_Control(pDX, IDC_EDIT2, m_edit2);DDX_Control(pDX, IDC_EDIT3, m_edit3);}

方法四:

将编辑框与整形变量关联,然后对整形成员变量直接进行操作

void CMy01_DemoDlg::OnBnClickedButton4(){// TODO: 在此添加控件通知处理程序代码UpdateData(true);m_num3 = m_num1 + m_num2;UpdateData(false);}

方法五:

将编辑框与控件变量关联,对控件变量进行操作

void CMy01_DemoDlg::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);}

方法六:

void CMy01_DemoDlg::OnBnClickedButton6(){// TODO: 在此添加控件通知处理程序代码int num1, num2, num3;TCHAR ch1[12], ch2[12], ch3[12];::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd, WM_GETTEXT, 12, (LPARAM)ch1);::SendMessage(GetDlgItem(IDC_EDIT2)->m_hWnd, WM_GETTEXT, 12, (LPARAM)ch2);num1 = _ttoi(ch1);num2 = _ttoi(ch2);num3 = num1 + num2;_itot(num3, ch3, 10);::SendMessage(GetDlgItem(IDC_EDIT3)->m_hWnd, WM_SETTEXT, 0, (LPARAM)ch3);}

方法七:

void CMy01_DemoDlg::OnBnClickedButton7(){// TODO: 在此添加控件通知处理程序代码int num1, num2, num3;TCHAR ch1[12], ch2[12], ch3[12];SendDlgItemMessage(IDC_EDIT1, WM_GETTEXT, 12, (LPARAM)ch1);SendDlgItemMessage(IDC_EDIT2, WM_GETTEXT, 12, (LPARAM)ch2);num1 = _ttoi(ch1);num2 = _ttoi(ch2);num3 = num1 + num2;_itot(num3, ch3, 10);SendDlgItemMessage(IDC_EDIT3, WM_SETTEXT, 0, (LPARAM)ch3);}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值