现在的位置: 首页 > 综合 > 正文

VC 获取静态文本控件和文本框控件上的文本方法

2013年02月22日 ⁄ 综合 ⁄ 共 1299字 ⁄ 字号 评论关闭
 1.获取静态文本控件上的文本,应该用CWnd类的成员函数GetWindowText来获取,但是首先要获取这个文本控件,就要用CWnd类的另一个成员函数GetDlgItem,如果要设置文本内容,则要用另一个成员函数SetWindowText,静态文本框在默认情况下不发送通知消息的,要将其发生变化需改变它的属性里的“通知”属性
        例如:GetDlgItem(IDC_STATIC)->GetWindowText(CString str);///将内容放进str
                    GetDlgItem(IDC_STATIC)->SetWindowText("111");////将内容设置为111
2.获取文本框上的内容:
                      char a[10];
                   (1)可以用上面的GetDlgItem和GetWindowText

                      GetDlgItem(IDC_EDIT1)->GetWindowText(a,10);////第一种方法
                   (2)还可以用另外一个CWnd类的成员函数:GetDlgItemText

                      GetDlgItemText(IDC_EDIT1,a,10);  ///第二种方法
                   (3)第三种方法是用 另一个成员函数GetDlgItemInt将文本框上的内容转换为整形输出

                      GetDlgItemInt(IDC_EDIT1);///第三种方法
                   (4)定义变量
                   (5)添加CEdit类型变量m_edit

                     m_edit.GetWindowText(a,10);//第五种方法
                   (6)用platform SDK 的SendMessage()函数

                     ::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)a);////第六种方法,因为platform SDK 和CWnd类都提供SendMessage函数,所以调用platform SDK 的函数前面要加::
                    ::SendMessage(m_edit.m_hWnd,WM_GETTEXT,10,(LPARAM)a);
                  (7)用SendDlgItemMessage直接给控件发送消息
                    SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT,10,(LPARAM)a)////第七种方法
3UpdateData();默认为TRUE,标识从对话框获取数据,变为FALSE为初始化对话框内控件的内容

抱歉!评论已关闭.