MFC-访问对话框控件的七种方法

内容转载出处 https://www.bilibili.com/video/BV1AT4y137gS?p=3

void CMFCApplication3Dlg::OnBnClickedButton1()
{
    // TODO:  在此添加控件通知处理程序代码

    //方法1
    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 CMFCApplication3Dlg::OnBnClickedButton2()
{
    // TODO:  在此添加控件通知处理程序代码

    //方法2
    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 CMFCApplication3Dlg::OnBnClickedButton3()
{
    // TODO:  在此添加控件通知处理程序代码

    //方法3
    int num1, num2, num3;

    num1 = GetDlgItemInt(IDC_EDIT1);
    num2 = GetDlgItemInt(IDC_EDIT2);

    num3 = num1 + num2;

    SetDlgItemInt(IDC_EDIT3, num3);
}
void CMFCApplication3Dlg::OnBnClickedButton4()
{
    // TODO:  在此添加控件通知处理程序代码

    //方法4(添加变量-变量类型int类别Value)
    UpdateData(TRUE);
    m_num3 = m_num1 + m_num2;
    UpdateData(FALSE);
}
void CMFCApplication3Dlg::OnBnClickedButton5()
{
    // TODO:  在此添加控件通知处理程序代码

    //方法5(添加变量-类别Control)
    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 CMFCApplication3Dlg::OnBnClickedButton6()
{
    // TODO:  在此添加控件通知处理程序代码

    //方法6(windows api发送消息)
    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 CMFCApplication3Dlg::OnBnClickedButton7()
{
    // TODO:  在此添加控件通知处理程序代码

    //方法7(发送消息)
    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);
}
原文地址:https://www.cnblogs.com/nxopen2018/p/13925991.html