zoukankan      html  css  js  c++  java
  • MFC中访问控件的几种方式

    // DlgAddTest.cpp : implementation file
    //
    
    #include "stdafx.h"
    #include "Text.h"
    #include "DlgAddTest.h"
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    
    /////////////////////////////////////////////////////////////////////////////
    // CDlgAddTest dialog
    
    
    CDlgAddTest::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_MAP
    END_MESSAGE_MAP()
    
    /////////////////////////////////////////////////////////////////////////////
    // CDlgAddTest message handlers
    
    void 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();
    
    }
    
    

  • 相关阅读:
    Harbor私有镜像仓库(下)
    项目课---企业级Memcached服务应用实践(八)
    项目课---OpVEN架构实施方案(七)
    项目课---Mha-Atlas-MySQL高可用方案实践(六)
    Nginx 反向代理
    Ansible搭建LNMP
    Ansible
    Ansible运维自动化
    JAVA企业级应用服务器之TOMCAT实战
    ssh自动分发密匙脚本样板
  • 原文地址:https://www.cnblogs.com/wucg/p/1949795.html
Copyright © 2011-2022 走看看