您的位置:首页 > 其它

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

2007-03-26 14:39 393 查看
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的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: