MFC总结(9) ---- CEdit 获取文本的7种方法
2015-11-12 08:42
465 查看
1. 通过获取指定元素(Edit Control 的Id值 )的句柄,然后通过GetWindowText进行获取,SetWindowText进行添加设置
2. 通过获取指定本窗口的子元素确定Edit Control,通过SetDlgItemText 和 GetDlgItemText进行操作。
3.和2有些类似,但是此时使用的是GetDlgItemInt和SetDlgItemInt进行操作,注意:此时文本内存为int类型,不是字符类型。如果是文本框是是int类型那么用这个比较方便,不用像2中还需要进行转换。
4.//定义成员变量..变量与控 件关连
5.//定义控件变量..变量与控件关连
通过以上案例就足够用了。
6.通过消息进行更改
7.通过Dlg消息进行处理
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);
2. 通过获取指定本窗口的子元素确定Edit Control,通过SetDlgItemText 和 GetDlgItemText进行操作。
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);
3.和2有些类似,但是此时使用的是GetDlgItemInt和SetDlgItemInt进行操作,注意:此时文本内存为int类型,不是字符类型。如果是文本框是是int类型那么用这个比较方便,不用像2中还需要进行转换。
int num1,num2,num3; num1=GetDlgItemInt(IDC_EDIT1); num2=GetDlgItemInt(IDC_EDIT2); num3=num1+num2; SetDlgItemInt(IDC_EDIT3,num3);
4.//定义成员变量..变量与控 件关连
/** //{{AFX_DATA(CTestDlg) enum { IDD = IDD_DIALOG1 }; int m_num1; int m_num2; int m_num3; //}}AFX_DATA void CTestDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CTestDlg) 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, 0, 100); DDX_Text(pDX, IDC_EDIT3, m_num3); //}}AFX_DATA_MAP } **/ UpdateData(); //UpdateData 的用法 m_num3=m_num1+m_num2; UpdateData(FALSE);
5.//定义控件变量..变量与控件关连
//{{AFX_DATA(CTestDlg) enum { IDD = IDD_DIALOG1 }; CEdit m_edit3; CEdit m_edit2; CEdit m_edit1; //}}AFX_DATA void CTestDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CTestDlg) DDX_Control(pDX, IDC_EDIT3, m_edit3); DDX_Control(pDX, IDC_EDIT2, m_edit2); DDX_Control(pDX, IDC_EDIT1, m_edit1); //}}AFX_DATA_MAP } int num1,num2,num3; char ch1[10],ch2[10],ch3[10]; m_edit1.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);
通过以上案例就足够用了。
6.通过消息进行更改
int num1,num2,num3; char ch1[10],ch2[10],ch3[10]; //::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10, (LPARAM)ch1);//方法一 //::SendMessage(m_edit1.m_hWnd,WM_GETTEXT,10, (LPARAM)ch1);//方法二 //GetDlgItem(IDC_EDIT1)->SendMessage(WM_GETTEXT,10, (LPARAM)ch1);//方法三 m_edit1.SendMessage(WM_GETTEXT,10,(LPARAM)ch1);//方法四 m_edit2.SendMessage(WM_GETTEXT,10,(LPARAM)ch2); num1=atoi(ch1); num2=atoi(ch2); num3=num1+num2; itoa(num3,ch3,10); m_edit3.SendMessage(WM_SETTEXT,0,(LPARAM)ch3);
7.通过Dlg消息进行处理
int num1,num2,num3; char ch1[10],ch2[10],ch3[10]; 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); SendDlgItemMessage(IDC_EDIT3,EM_SETSEL,0,-1);
相关文章推荐
- Zend Studio中SVN的使用
- usaco.section1.4 && 1.5(2015.11.12)
- 常见的排序算法
- Save a File on Internal Storage
- 类目category 扩展extension 协议protocol
- 玩转mysql(入门级练习)
- 欢迎使用CSDN-markdown编辑器
- 普林斯顿大学算法第一部分学习总结(Week4-Priority Queue)
- linux搭建的web网站登录超时
- 关于java中getInstance()方法
- 自定义View时 自定义属性报错Error:(8) No resource identifier found for attribute 'xxx' in package 'android'
- Flipping Burned Pancakes
- 如何将centos上的默认时区格式cst修改为gmt
- markdownTest
- 六、实体创建
- python uniform()
- CodeViz产生函数调用图
- Android侧滑菜单
- LCS 最长公共子序列
- 玩转树莓派之环境搭建—安装TFT屏