MFC里面的响应对话框里的Edit控件的几种方法
2012-08-17 17:21
585 查看
第一种:利用组合的GetDlgItem()和GetWindowText()函数获得控件信息,利用GetDlgItem()->SetWindowText()设置信息
第三种:利用GetDlgItemInt()和SetDlgItemInt()获取整形数
第四种:添加控件的成员变量;利用classwizard;注意此处是value变量;直接在Edit控件上输入可以保存到成员变量 m_edit1和m_edit2里面;此时需要利用update()函数来更新数据内容; TRUE:写入,FALSE 写出;
第五种:添加控件的控制变量,CEdit类型,利用classwizard;此时利用CEdit的函数来维护数据操作;
第六种:利用win32API函数sendmessage(),注意此函数的参数格式;第一个参数是该控件的句柄,根据其的获得方式,又可以更详细划分几种方式:
第七种:利用SendDlgItemMessage()函数,其本质也是讲sendmessage和getDlgitemm合并起来,发送get和set消息;
总结:对话框控件访问的其中方式
1 GetDlgItem()->Get(Set)WindowText()
2 GetDlgItemText()/SetDlgItemText()
3 GetDlgItemInt() / SetDlgItemInt()
4 将控件和整形变量关联;
5 讲控件和控件变量关联;
6 sendMessage()
7 sendDlgItemMessge();
补充:WM_GETTEXT和WM_SETTEXT是标准获得Edit控件里面的所有消息;
另外一种获得选取部分内容的消息时:EM_GETSEL;
EM_SETSEL是设定选取部分的大小的消息;
int num1,num2,num3; char ch1[10],ch2[10],ch3[3]; GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);//获得Eidt1控件的内容 GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10); //GetDlgItem(IDC_EDIT3)->GetWindowText(ch3,10); num1=atoi(ch1); num2=atoi(ch2); //num3=atoi(ch3); num3=num1*num2; itoa(num3,ch3,10); GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);第二种:利用GetDlgItemText()函数,其本质上等价于GetDlgItem()->GetWindowText()SetDlgItemText()函数
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);
第三种:利用GetDlgItemInt()和SetDlgItemInt()获取整形数
num1=GetDlgItemInt(IDC_EDIT1); num2=GetDlgItemInt(IDC_EDIT2); num3=num1*num2; SetDlgItemInt(IDC_EDIT3,num3);
第四种:添加控件的成员变量;利用classwizard;注意此处是value变量;直接在Edit控件上输入可以保存到成员变量 m_edit1和m_edit2里面;此时需要利用update()函数来更新数据内容; TRUE:写入,FALSE 写出;
UpdateData(TRUE); m_num3=m_num1*m_num2; UpdateData(FALSE);
第五种:添加控件的控制变量,CEdit类型,利用classwizard;此时利用CEdit的函数来维护数据操作;
int num1,num2,num3; char ch1[10],ch2[10],ch3[3]; m_edit.GetWindowText(ch1,10); m_edit2.GetWindowText(ch2,10); num1=atoi(ch1); num2=atoi(ch2); num3=num1*num2; itoa(num3,ch3,10); m_edit3.SetWindowText(ch3)
第六种:利用win32API函数sendmessage(),注意此函数的参数格式;第一个参数是该控件的句柄,根据其的获得方式,又可以更详细划分几种方式:
int num1,num2,num3; char ch1[10],ch2[10],ch3[10]; ::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);//此处加上::表示调用的是win32API函数,而不是类的成员函数, //第一个参数是控件句柄,两种方法获得,此处利用函数获得;发送系统消息WM_GETTEXT; ::SendMessage(m_edit2.m_hWnd,WM_GETTEXT,10,(LPARAM)ch2);//利用控件的CEdit成员变量获得此控件的句柄,其余相同 //GetDlgItem(IDC_EDIT1)->SendMessage(WM_GETTEXT,10,(LPARAM)ch1);//此处先利用GetDlgItem()获得控件句柄,然后发送消息 //m_edit.SendMessage(WM_GETTEXT,10,(LPARAM)ch1);//直接利用成员Cedit变量来获得控件句柄 num1=atoi(ch1); num2=atoi(ch2); num3=num1*num2; itoa(num3,ch3,10); m_edit3.SendMessage(WM_SETTEXT,0,(LPARAM)ch3);
第七种:利用SendDlgItemMessage()函数,其本质也是讲sendmessage和getDlgitemm合并起来,发送get和set消息;
SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT,10,(LPARAM)ch1); SendDlgItemMessage(IDC_EDIT2,WM_GETTEXT,10,(LPARAM)ch2); num1=atoi(ch1); num2=atoi(ch2); num3=num1*num2; itoa(num3,ch3,10); SendDlgItemMessage(IDC_EDIT3,WM_SETTEXT,0,(LPARAM)ch3);
总结:对话框控件访问的其中方式
1 GetDlgItem()->Get(Set)WindowText()
2 GetDlgItemText()/SetDlgItemText()
3 GetDlgItemInt() / SetDlgItemInt()
4 将控件和整形变量关联;
5 讲控件和控件变量关联;
6 sendMessage()
7 sendDlgItemMessge();
补充:WM_GETTEXT和WM_SETTEXT是标准获得Edit控件里面的所有消息;
另外一种获得选取部分内容的消息时:EM_GETSEL;
EM_SETSEL是设定选取部分的大小的消息;
SendDlgItemMessage(IDC_EDIT3,EM_SETSEL,0,-1);//设置复选框1到3的内容,不含1,含3; //如果此时起始设为0,终止设为-1,则复选EDIT控件所有内容; m_edit3.SetFocus();//设置焦点为当前控件;即为m_edit3指示的;
相关文章推荐
- MFC中edit控件中同一程序中对话框间的传值与显示方法
- 两种方法实现MFC 对话框最大化时控件也随比例最大化或者还原
- mfc 带滚动条的对话框 滚动条消息响应方法
- 控件方法MFC对话框编程(二):控件的访问
- edittext的setOnKeyListener里面的方法响应两次的原因和解决方法
- MFC对话框中控件 添加右键响应
- MFC 中获取对话框中控件焦点的方法
- MFC在其他线程中刷新主对话框中EDIT等控件数据
- MFC几种给对话框添加背景图的方法
- VC++无标题窗口以及控件拖动的方法,MFC中的对话框怎么拖动不了
- MFC几种给对话框添加背景图的方法
- MFC中在对话框中实现键盘快捷键响应方法
- 几种MFC对话框的隐藏方法
- MFC中动态创建控件以及事件响应实现方法
- 两种方法实现MFC 对话框最大化时控件也随比例最大化或者还原
- MFC中 自定义类访问主对话框控件的方法
- VC(MFC) edit控件滚动条自动到达底部的几种实现
- MFC对话框里获取DC画图的几种方法
- 添加RichEdit控件导致MFC对话框程序无法执行的解决方法
- 回调函数中使用MFC类的成员或对话框控件的简单方法