1. 程式人生 > 實用技巧 >MFC-訪問對話方塊控制元件的七種方法

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);
}