访问控件的五种方法

第一种:

int a,b,c;
char ch1[20],ch2[20],ch3[20];
GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);     //第一种方法
GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10); 
a=atoi(ch1);
b=atoi(ch2);
c=a+b;
itoa(c,ch3,10);
GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);

 //第二种方法
       GetDlgItemText(IDC_EDIT1,ch1,10);                 
       GetDlgItemText(IDC_EDIT1,ch2,10);

       a=atoi(ch1);
b=atoi(ch2);
c=a+b;
itoa(c,ch3,10);

       SetDlgItemText(IDC_EDIT3,ch3);

  //第三种方法
    a=GetDlgItemInt(IDC_EDIT1);
    b=GetDlgItemInt(IDC_EDIT2);
   c=a+b;
SetDlgItemInt(IDC_EDIT3,c);

//第四种方法(定义一个与控件文本关联的变量(简称关联变量),然后对控件文本尽心操作。这种方法是最简单的)

利用CLASSWARZD中的member variables来为控件增加变量。MFC使这个变量存储控件文本的内容,具体怎样使控件和这个变量怎样关联的可以查看代码(DDX_text(IND,m_n))和变量的初始化代码(在构造函数内)


CDailog::CDailog(CWnd* pParent /*=NULL*/)
: CDialog(CDailog::IDD, pParent)
{
m_bisCreate=false;
//{{AFX_DATA_INIT(CDailog)
m_num3 = 0;
m_num1 = 0;
m_num2 = 0;
//}}AFX_DATA_INIT
}




void CDailog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDailog)
DDX_Text(pDX, IDC_EDIT3, m_num3);
DDV_MinMaxInt(pDX, m_num3, -330, 9999);
DDX_Text(pDX, IDC_EDIT1, m_num1);
DDV_MinMaxInt(pDX, m_num1, 0, 100);
DDX_Text(pDX, IDC_EDIT2, m_num2);
DDV_MinMaxInt(pDX, m_num2, -100, 100);
//}}AFX_DATA_MAP
}

ON_BN_CLICKED(IDC_BUTTON1, OnButton1)

void CDailog::OnButton1() 
{

UpdateData();
m_num3=m_num1+m_num2;
UpdateData(false);

}


//第五种方法

(定义一个该控件类型的变量(该变量类的对象),简称控件变量,代表着这个控件的本身,利用这个变量来管理这个控件(这是MFC常用的方法:用对应资源的类来定义一个对象,是资源与对象关联起来,然后用这个对象来管理这个资源))

方法:利用CLASSWARZD中的member variables来为控件增加变量(category xuan选择conctrol类型即该控件的类型,变量类型选择该控件的类型)

然后利用该变量中的方法和变量;来实现对这个控件文本的操作和该控件的其他操作。

void CDailog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDailog)
DDX_Control(pDX, IDC_EDIT2, m_edit2);
DDX_Control(pDX, IDC_EDIT1, m_edit1);
DDX_Control(pDX, IDC_EDIT3, m_edit3);
DDX_Text(pDX, IDC_EDIT3, m_num3);
DDV_MinMaxInt(pDX, m_num3, -330, 9999);
DDX_Text(pDX, IDC_EDIT1, m_num1);
DDV_MinMaxInt(pDX, m_num1, 0, 100);
DDX_Text(pDX, IDC_EDIT2, m_num2);
DDV_MinMaxInt(pDX, m_num2, -100, 100);
//}}AFX_DATA_MAP
}


void CDailog::OnButton1() 
{

int a,b,c;
        char ch1[20],ch2[20],ch3[20];
    m_edit1.GetWindowText(ch1,10);
m_edit2.GetWindowText(ch2,10);


a=atoi(ch1);
      b=atoi(ch2);
    c=a+b;
    itoa(c,ch3,10);
m_edit3.SetWindowText(ch3);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值