各位大虾帮忙看看这几行代码

estelle2001 2003-07-08 10:20:33
Cfilemoddialog *pFdlg=new Cfilemoddialog();
pFdlg->m_editcontent.SetWindowText(str);//str 是一个Cstring 类型的变量
已赋值, m_editcontent 是编辑
控件中的cedit类型变量,
pFdlg->DoModal();
delete pFdlg;
但该段代码的第二行在运行时总出错,不知是为什么?
...全文
24 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wizardho 2003-07-08
  • 打赏
  • 举报
回复
或者用楼上的方法,并将Str设为全局变量
wizardho 2003-07-08
  • 打赏
  • 举报
回复
把edit框中的变量设为CString,就可以在生成对话框时显示View中的str值
estelle2001 2003-07-08
  • 打赏
  • 举报
回复
如果将DoModal和SetWindowText交换位置后是否就对了呢?
estelle2001 2003-07-08
  • 打赏
  • 举报
回复
我这段代码是放在View 类里实现的,其值是从这个类中得到的。如何在OnInitDialog中赋值呢?
我试过在OnInitDialog中赋值,是可以实现。但只是一个固定的值,我不知如何随View中的Str值的变化而动态改变?多谢各位了,我是初学者,还请多帮忙:)
E17 2003-07-08
  • 打赏
  • 举报
回复
m_editcontent.SetWindowText(str);//
这句话 放到 CDialog的OnInitDialog里面去
这个时候 dialog 刚有句柄
ilovevc 2003-07-08
  • 打赏
  • 举报
回复
因为对话框还没有创建,(在DoModal中创建)
所以, m_editcontent还不是一个窗口.
你的第一行只是new了一个class,但是并没有create window.

应该在Dialog的OnInitDialog函数里面给控件赋值, 这个时候,对话框
已经完成了创建工作.
xiezhenping 2003-07-08
  • 打赏
  • 举报
回复
也可以在对话框中,加入一公有函数用于预初始化数据,存于对话框的一CString 娈量中,
后在初始化时,设置窗口名
estelle2001 2003-07-08
  • 打赏
  • 举报
回复
可以了!!我按照wizardho(hh)提供的意见试了一下,将edit框中的变量设为CString,在View中将其赋值,再在对话框的OnInitDialog中用SetWindowText赋值即可,非常谢谢!:)

2,586

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 资源
社区管理员
  • 资源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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