MFC中訪問控制項的幾種方式

來源:互聯網
上載者:User

 

// DlgAddTest.cpp : implementation file//#include "stdafx.h"#include "Text.h"#include "DlgAddTest.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// CDlgAddTest dialogCDlgAddTest::CDlgAddTest(CWnd* pParent /*=NULL*/): CDialog(CDlgAddTest::IDD, pParent){//{{AFX_DATA_INIT(CDlgAddTest)m_iNum1 = 0;m_iNum2 = 0;m_iNum3 = 0;//}}AFX_DATA_INIT}void CDlgAddTest::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CDlgAddTest)DDX_Control(pDX, IDC_EDIT3, m_Edit3);DDX_Control(pDX, IDC_EDIT2, m_Edit2);DDX_Control(pDX, IDC_EDIT1, m_Edit1);DDX_Text(pDX, IDC_EDIT1, m_iNum1);DDX_Text(pDX, IDC_EDIT2, m_iNum2);DDX_Text(pDX, IDC_EDIT3, m_iNum3);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CDlgAddTest, CDialog)//{{AFX_MSG_MAP(CDlgAddTest)ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CDlgAddTest message handlersvoid CDlgAddTest::OnButtonAdd() {//Edit3 = Edit1+Edit2//法1:/*char ch1[10],ch2[10],ch3[10];int num1,num2,num3;this->GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);this->GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);num1=atoi(ch1);num2=atoi(ch2);num3=num1+num2;itoa(num3,ch3,10);this->GetDlgItem(IDC_EDIT3)->SetWindowText(ch3); *///法2:/*char ch1[10],ch2[10],ch3[10];int num1,num2,num3;GetDlgItemText(IDC_EDIT1,ch1,10);GetDlgItemText(IDC_EDIT2,ch2,10);num1=atoi(ch1);num2=atoi(ch2);num3=num1+num2;itoa(num3,ch3,10);SetDlgItemText(IDC_EDIT3,ch3);*///法3:/*char ch1[10],ch2[10],ch3[10];int num1,num2,num3;num1 = GetDlgItemInt(IDC_EDIT1,NULL,TRUE);num2 = GetDlgItemInt(IDC_EDIT2,NULL,TRUE);num3=num1+num2;itoa(num3,ch3,10);SetDlgItemText(IDC_EDIT3,ch3);*///法4: DDX1 (DoDataExchange)/*UpdateData();this->m_iNum3=this->m_iNum1 + this->m_iNum2;UpdateData(FALSE);*///法5: DDX2/*char ch1[10],ch2[10],ch3[10];int num1,num2,num3;this->m_Edit1.GetWindowText(ch1,10);this->m_Edit2.GetWindowText(ch2,10);num1=atoi(ch1);num2=atoi(ch2);num3=num1+num2;itoa(num3,ch3,10);this->m_Edit3.SetWindowText(ch3);*///法6:/*char ch1[10],ch2[10],ch3[10];int num1,num2,num3;//::SendMessage(this->GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);//::SendMessage(this->m_Edit1.m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);//this->GetDlgItem(IDC_EDIT1)->SendMessage(WM_GETTEXT,10,(LPARAM)ch1);//this->m_Edit1.SendMessage(WM_GETTEXT,10,(LPARAM)ch1);this->SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT,10,(LPARAM)ch1);this->m_Edit2.SendMessage(WM_GETTEXT,10,(LPARAM)ch2);num1=atoi(ch1);num2=atoi(ch2);num3=num1+num2;itoa(num3,ch3,10);this->m_Edit3.SendMessage(WM_SETTEXT,0,(LPARAM)(LPCTSTR)ch3);*/////////////////////////////////////////////////////////////////////////////選中部分值//this->m_Edit1.SendMessage(EM_SETSEL, (WPARAM) (INT)0,(LPARAM) (INT)-1);SendDlgItemMessage(IDC_EDIT1,EM_SETSEL, (WPARAM) (INT)0,(LPARAM) (INT)-1);this->m_Edit1.SetFocus();}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.