问个简单的问题!!怎么获得Editbox中的值。谢谢!

syc0616 2008-12-15 10:44:33
我现在有三个Editbox,分别是IDC_EDIT1、IDC_EDIT2、IDC_EDIT3,我现在想分别获得它们中间的值,
是用GetDlgItem(IDC_EDIT)来获得hedit,然后用GetWindowText()获得值吗?具体怎么操作。
能写段代码吗?谢谢大家!!
...全文
152 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lastwish 2008-12-17
  • 打赏
  • 举报
回复

CString text;
GetDlgItem(IDC_EDIT1)->GetWindowText(text);

这样做在vc,vs.net中可定是能编译成功的,楼主用的是什么编译器??确定是mfc工程吗?
一般C++不支持CString,好像就是提示你说的那个错误
qwertxp 2008-12-16
  • 打赏
  • 举报
回复
试试使用消息来取:
TCHAR text[128];
::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,128,(LPARAM)text);

如果还不行就是你的程序有其它BUG。
qap22 2008-12-16
  • 打赏
  • 举报
回复
不懂,帮顶
hityeguiren 2008-12-16
  • 打赏
  • 举报
回复
如果是C++的话,可以在.cpp文件里设计个变量关联一下就可以,在自动生成的dodataExchange函数里写如下语句DDX_Text(pDX, IDC_EDIT_Mark, m_mark);其中IDC_EDIT_Mark是编辑框的ID,m_mark则是输入输入编辑框的内容,最后转换一下形式即可。
syc0616 2008-12-15
  • 打赏
  • 举报
回复
谢谢,大家
这招我也试了,还是不行啊。error C2440: “类型转换”: 无法从“void”转换为“CEdit *”

我的意思在IDC_EDIT1控件中输入一个字符,然后我获得它,并把它写入注册表,
我现在就是获得不了IDC_EDIT1控件中的值,需要UpdateData(TRUE)吗?
syc0616 2008-12-15
  • 打赏
  • 举报
回复
帅哥这么做不行啊!
我调试时,text总是“错误的指针”。
我用给IDC_EDIT1定义变量m_edit1
char text[10];
m_edit1.GetWindowText(text,10);
可这样也不行,text的值总是空。
怎么回事啊?急死我了啊!帮帮忙,大家!
雪碧爱可乐 2008-12-15
  • 打赏
  • 举报
回复
前面应该做一下指针转化(CEdit*)GetDlgItem(IDC_EDIT1)->GetWindowText(text);

qwertxp 2008-12-15
  • 打赏
  • 举报
回复

CString text;
GetDlgItem(IDC_EDIT1)->GetWindowText(text);
syc0616 2008-12-15
  • 打赏
  • 举报
回复
大哥、大姐们我到底拿错了啊?
CString strTemp;
GetDlgItem(IDC_EDIT1)->GetWindowText(strTemp); //得到Edit的数据
GetDlgItem(IDC_EDIT1)->SetWindowText(strTemp); //给Edit的赋值
这个不对吗?
那要加上UpdateData(TRUE),
我加了也不行啊?
syc0616 2008-12-15
  • 打赏
  • 举报
回复
我试了,可还是不行啊。

GetDlgItemText(IDC_EDIT1,str);
str是空值啊!
Tinary3v0 2008-12-15
  • 打赏
  • 举报
回复
CString str;
GetDlgItemText(IDC_EDIT1,str);


为什么使用GetWindowText???

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧