Rain_ning‘s Diaries https://bbs.21ic.com/?621237 [收藏] [复制] [RSS]

日志

VC 获取静态文本控件和文本框控件上的文本方法(转载)

已有 1179 次阅读2011-4-26 10:37 |个人分类:Windows编程 MFC API|系统分类:ARM| 静态文本, 编辑框, 控件, VC, MFC

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为初始化对话框内控件的内容

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)