VC技术 (对话框访问控件的方法)

GetDlgItem()->Get(Set)WindowText()
GetDlgItemText()/SetDlgItemText()
GetDlgItemInt()/SetDlgItemInt()
将控件和整型变量相关联
将控件和控件变量相关联
SendMessage()
SendDlgItemMessage()

 

//这是访问控件的一个方法
/*
 int num1,num2,num3;
 char ch1[10],ch2[10],ch3[10];

 GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);
 GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);

 num1=atoi(ch1);
 num2=atoi(ch2);
 num3=num1+num2;
 itoa(num3,ch3,10);

 GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);
*/

//这是第二个访问控件的方法
/* int num1,num2,num3;
 char ch1[10],ch2[10],ch3[10];
 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);
*/

//这是第三个访问控件的方法
/*
 int num1,num2,num3;
 num1=GetDlgItemInt(IDC_EDIT1);
 num2=GetDlgItemInt(IDC_EDIT2);
 num3=num1+num2;

 SetDlgItemInt(IDC_EDIT3,num3);
*/

//这是第四种访问控件的方法---将控件和整型变量相关联
/*
 UpdateData();
 m_number3=m_number1+m_number2;
 UpdateData(FALSE);
*/

//第五种种访问控件的方法---将控件和控件变量相关联
/* 
 int num1,num2,num3;
 char ch1[10],ch2[10],ch3[10];
 m_num1.GetWindowText(ch1,10);
 m_num2.GetWindowText(ch2,10);

 num1=atoi(ch1);
 num2=atoi(ch2);
 num3=num1+num2;
 itoa(num3,ch3,10);

 m_num3.SetWindowText(ch3);
*/

//第六种是基于消息
/*
 int num1,num2,num3;
 char ch1[10],ch2[10],ch3[10];
 //加了::表示调用的Wind32的函数,而不是自己的函数,
 //这是Wind32的函数,它要知道消息是发给谁的,所以需要句柄,
 //::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
 //::SendMessage(m_num1.m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
 
 //GetDlgItem(IDC_EDIT1)->SendMessage(WM_GETTEXT,10,(LPARAM)ch1);
 m_num1.SendMessage(WM_GETTEXT,10,(LPARAM)ch1);

 m_num2.SendMessage(WM_GETTEXT,10,(LPARAM)ch2);

 num1=atoi(ch1);
 num2=atoi(ch2);
 num3=num1+num2;
 itoa(num3,ch3,10);

 m_num3.SendMessage(WM_SETTEXT,0,(LPARAM)ch3);
*/

//第七种也是基于消息
 int num1,num2,num3;
 char ch1[10],ch2[10],ch3[10];
 //这里本来就可以把窗口的消息发送给子控件,所以不需要像上面那样的指针。
 SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT,10,(LPARAM)ch1);
 //和上面比较  ::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
 SendDlgItemMessage(IDC_EDIT2,WM_GETTEXT,10,(LPARAM)ch2);
 //这是一个发送到IDC_EDIT1的消息,消息的类型是什么呢?消息说:我要从你那里
 //的到值,放到ch1中

 num1=atoi(ch1);
 num2=atoi(ch2);
 num3=num1+num2;
 itoa(num3,ch3,10);

 SendDlgItemMessage(IDC_EDIT3,WM_SETTEXT,0,(LPARAM)ch3);
 //这是一个发送到IDC_EDIT3的消息,消息的类型是什么呢?消息说:我要在你那里
 //设定值,设定为ch3的值


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值