如何让CEdit输入的文字再次打开后能显示出来 有两个窗口,窗口A和窗口B,点击窗口A上的一个Button后弹出窗口B,在窗口B里的CEdit输入文字,点击确定,关闭窗口B,再次打窗口B的时候CEDIT没文字了,这个怎么弄? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 变量声明放在A里面,弹出B之前,把这个变量传到B对象中,在B的OnInitialDialog中设置CEdit的text。 B退出时把edit内容写在注册表里。B初始化时先读注册表,有内容就显示 在A类中定义一个CString成员变量,对B的EDIT中的值最后保存到这个CString中去,改一下B的构造函数,每次创建B类对象时从A类中将要显示的值传进去。 取出来是什么意思?一般可以这样做,在A类和B类中都各自定义一个CString的成员变量,将你所谓取出来的值给B类的CString变量,由这个变量将值带给A类。然后改一下B类的构造函数,多加一个参数,用来传你保存的这个值。当然如果你嫌麻烦,也可以设一个全局的CString变量来保存,那就方便多了。 你的意思我明白了,获取CEDIT的值是没问题,我就是不知道怎么才能把获取出来的这个值又重新显示到CEDIT这个控件上去。 SetDlgItemText之类的API都可以啊 ((CEdit *)GetDlgItem(ID_EDIT))->SetText(str); //ID_EDIT:你的CEdit控件的ID str:你保存的CString 值 错了,是:((CEdit *)GetDlgItem(ID_EDIT))->SetWindowText(str); //ID_EDIT:你的CEdit控件的ID str:你保存的CString 值 最规范的MFC的方法是在B的类里面给那个CEdit绑定一个CString对象,比如m_strData,把这个B类的成员声明成public的。这样在创建B后,在DoModal之前直接给这个dlgB.m_strData赋值就可以了。b对话框返回以后你只要不销毁b的对象,比如之前用new创建b,重新DoModal后,Edit里的值还在。不需要额外保存。 ((CEdit *)GetDlgItem(IDC_EDIT1))->SetWindowText("HELLO");这样写后,还是没有呀, ((CEdit *)GetDlgItem(IDC_EDIT1))->SetWindowText("HELLO");==========这段代码写在什么地方了啊? 可以击穿的按钮 libnet初始化时用LIBNET_RAW4报错 求助各位兄台,请问怎样确定在sql有没有某个视图或表? 求助!VC程序调用控制 下午6:00结帖,请进看!!! 本人出售大型软件源程序代码. 图形编辑软件中,无限次“撤销”、“重做”的实现方法 为什么VC编译程序中经常出这样的错误? 对文件的操作问题 ActiveX控件类型始终是cocx问题 MFC对话框中 界面同一位置根据选择不同显示不同的控件,该如何操作? 菜鸟求助vs2005编译问题
一般可以这样做,在A类和B类中都各自定义一个CString的成员变量,将你所谓取出来的值给B类的CString变量,由这个变量将值带给A类。然后改一下B类的构造函数,多加一个参数,用来传你保存的这个值。
当然如果你嫌麻烦,也可以设一个全局的CString变量来保存,那就方便多了。
((CEdit *)GetDlgItem(ID_EDIT))->SetWindowText(str); //ID_EDIT:你的CEdit控件的ID str:你保存的CString 值
这样在创建B后,在DoModal之前直接给这个dlgB.m_strData赋值就可以了。b对话框返回以后你只要不销毁b的对象,比如之前用new创建b,重新DoModal后,Edit里的值还在。不需要额外保存。
这样写后,还是没有呀,
==========
这段代码写在什么地方了啊?