MFC中给edit控件赋值问题

greyrainbow2010 2010-09-13 03:54:49
新手哇
给edit控件赋值

GetDlgItem(IDC_EDIT)->SetWindowText( "test");

编译无错,运行到这句赋值代码时报错
“Debug Assertion Failed!

Program:d\aaa\debug\aaa.exe
File:wincore.cpp
Line:312

For information on how your program can cause an assertion failure,see the Visual C++ documentation on asserts.

(Press Retry to debug the application) Debug Assertion Failed”

啥意思?我看网上都这么写赋值语句的啊,怎么我这里就报错了呢?
...全文
2186 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
淮河神 2012-10-19
  • 打赏
  • 举报
回复
我也碰到了楼主的问题。

我用visual studio 2010,这样解决的:

dlgPopmenu->SetDlgItemTextA(IDC_EDIT_FF_CM,_T("EDIT控件内容"));

dlgPopmenu:是Edit控件所在的dialog的指针。
SetDlgItemTextA:修改对话框Edit控件的内容。低级的VC++编译器里可能是SetDlgItemText。
IDC_EDIT_FF_CM:EDIT控件的ID。
ynxynx3570002 2012-05-23
  • 打赏
  • 举报
回复
检查一下EDIT的IDK号,是否正确
Jeruo 2011-12-28
  • 打赏
  • 举报
回复
我也在纠结LZ的问题,初学很懵懂,我是用的控件变量,开始也是想在a.cpp里控制b.cpp,但后来我决定在a b里各写各的,很纠结啊!
Jeruo 2011-12-28
  • 打赏
  • 举报
回复
我也在纠结LZ的问题,初学很懵懂,我是用的控件变量,开始也是想在a.cpp里控制b.cpp,但后来我决定在a b里各写各的,很纠结啊!
阿铁桐 2010-11-29
  • 打赏
  • 举报
回复
这东西 我我也正。。
副组长 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 liyan 的回复:]
这分让他们捞的,太容易了,我怎么回不到这种帖子呢?
标记,快速飘过!
[/Quote]

看看人家这分得的多容易
http://topic.csdn.net/u/20101013/08/7c06f198-864c-4aa4-ad48-4f3ae20c750b.html
greyrainbow2010 2010-10-07
  • 打赏
  • 举报
回复
楼上的说的有道理,好像是这么回事
不过OnOK函数是要按钮触发的吧?
我不想动任何按钮就要触发的
wenruimeng 2010-10-02
  • 打赏
  • 举报
回复
if(IPdlg->DoModal() != IDOK)
//代码执行到这里的时候窗体已经被销毁了
return;

DoModal()函数执行时,窗体创建
DoModal()函数返回时,窗体已经被销毁

如果要操作CDialog中的控件必须在窗体销毁前处理。

可以在OnOK 函数中执行
科学家 2010-09-21
  • 打赏
  • 举报
回复
窗口不在了吧!还给赋值就是错误滴!!
liyan 2010-09-20
  • 打赏
  • 举报
回复
这分让他们捞的,太容易了,我怎么回不到这种帖子呢?
标记,快速飘过!
mltong 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 greyrainbow2010 的回复:]

成员变量我已经添加好了
但是在另一个文件里,怎么给这个变量赋值?
比如这个变量我定义的是strValue
我虽然导入了前面定义的头文件,但还是报“未声明变量”
[/Quote]
在调用的类里面定义一个那个对话框类的成员变量
CDialog m_dlg;

m_dlg.strValue = ....
greyrainbow2010 2010-09-14
  • 打赏
  • 举报
回复
成员变量我已经添加好了
但是在另一个文件里,怎么给这个变量赋值?
比如这个变量我定义的是strValue
我虽然导入了前面定义的头文件,但还是报“未声明变量”

nbhx2010 2010-09-14
  • 打赏
  • 举报
回复
1. 添加成员变量。在view-->classwiz里的弹出对话框里选择成员变量,定义一下名字,然后DoDataExchange里自动会生成DDX_Text()方法

2. 如果用的是VS2008,直接右击控件,选择属性,添加成员变量就可以了
3. 在另一个赋值的文件里,用控件类的类对象来操作上面生成的控件变量,给它赋值
Eleven 2010-09-14
  • 打赏
  • 举报
回复
先入门吧,看孙鑫的视频教程先
向立天 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 nbhx2010 的回复:]

人家是新人,你们说的很多情况楼主根本没看懂
比如“在控件上添加个变量”,怎么添加?
16楼的,人家楼主说的是给另一个文件里的控件赋值,你那句代码能成功才怪呢。那句代码是同一类文件里赋值用的。
[/Quote]
我在之前说过发消息
而且他就说a.cpp、b.xpp我们怎么知道具体是什么情况
那你说赋值具体该怎么写
swlilike 2010-09-14
  • 打赏
  • 举报
回复
额。 添加一个变量应该懂的吧
nbhx2010 2010-09-14
  • 打赏
  • 举报
回复
人家是新人,你们说的很多情况楼主根本没看懂
比如“在控件上添加个变量”,怎么添加?
16楼的,人家楼主说的是给另一个文件里的控件赋值,你那句代码能成功才怪呢。那句代码是同一类文件里赋值用的。


向立天 2010-09-14
  • 打赏
  • 举报
回复
GetDlgItem(IDC_EDIT)->SetWindowText( "test");
这句代码已经很详细了
问题时又不知道你的应用环境
怎么给你写代码
pshchao 2010-09-14
  • 打赏
  • 举报
回复
可以在控件上添加个变量。然后更新控件内容的时候调用 UPDATADATE(FALSE)

greyrainbow2010 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 gordon3000 的回复:]

按9楼说的整,以前有些书都是教
GetDlgItem(IDC_EDIT)->SetWindowText( "test");
害了不少人。
[/Quote]

其实9楼说的我也不知道怎么做。。。。我小白啊。。手上连本书都没有
要是有个详细点的代码就好了
加载更多回复(16)

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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