MFC edit控件关联value变量,请问如何使该变量获得自动保持功能
在MFC对话框程序,为Edit控件关联了一个int变量,当这个对话框第一次打开的时候,该对话框的变量是初始设置的值,改变之后当再次打开该对话框的时候发现该控件显示仍然是初...
在MFC对话框程序,为Edit控件关联了一个int变量,当这个对话框第一次打开的时候,该对话框的变量是初始设置的值,改变之后当再次打开该对话框的时候发现该控件显示仍然是初始的值,请问如何改变使再次打开对话框的时候变成前边已经设置的值?谢谢
哦,不是这个意思的,谢谢楼下二位,这个对话框是通过一个菜单项打开的,然后每次打开对话框的时候,里边控件的值显示的值都是变量的初始值,Updatedata(TRUE)我用过了
这么说吧:就是有一个控件我关联的int值,对话框是通过菜单项打开的,
CSettingDlg dlg;
dlg.DoModal();
第一次打开,这个Edit控件显示的初值0,然后我改成80,Updatedata(TRUE),这次是改好了,点OK之后,再次点这个菜单项打开这个对话框,结果这个Edit控件的值仍然是0,但我想要的是它这回的值应该是80,请问该怎么办 展开
哦,不是这个意思的,谢谢楼下二位,这个对话框是通过一个菜单项打开的,然后每次打开对话框的时候,里边控件的值显示的值都是变量的初始值,Updatedata(TRUE)我用过了
这么说吧:就是有一个控件我关联的int值,对话框是通过菜单项打开的,
CSettingDlg dlg;
dlg.DoModal();
第一次打开,这个Edit控件显示的初值0,然后我改成80,Updatedata(TRUE),这次是改好了,点OK之后,再次点这个菜单项打开这个对话框,结果这个Edit控件的值仍然是0,但我想要的是它这回的值应该是80,请问该怎么办 展开
展开全部
因为你每次打开,都是重新构造了一个局部对象CSettingDlg,所以肯定是初始化的值. 解决方法是: 你要在调用这个对话框的类中(就是你点击菜单的那个类,一般是view类或frame类),保存这个控件关联的值,比如说m_editValue. 然后在CSettingDlg这个类中,可以加一个函数SetValue(int a). 在调用完CSettingDlg dlg后,调用dlg.SetValue(m_editValue)设置你上次保存的值就可以了. 你也可以为CSettingDlg加个带一个参数的构造函数,这样每次调用时就用CSettingDlg dlg(m_editValue)就可以了.
展开全部
你更改数据过后你要对对话框上面的数据进行更新的。
不进行更新的话,是不会有任何变化的。
可以使用UpdateData(FALSE);来进行更新的。
你要是想获取EDIT控件的值的话,你可以使用UpdateData(TRUE); 的方式的。这个就是将EDIT控件的值保存到你的INT型变量中去的。
当然最好是将控件给绑定为INT型的。。不然会出错的。
不进行更新的话,是不会有任何变化的。
可以使用UpdateData(FALSE);来进行更新的。
你要是想获取EDIT控件的值的话,你可以使用UpdateData(TRUE); 的方式的。这个就是将EDIT控件的值保存到你的INT型变量中去的。
当然最好是将控件给绑定为INT型的。。不然会出错的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
每
打
,都
重新构造
局部
象CSettingDlg,所
肯定
初始化
值.
解决
:
要
调用
框
类
(
点击菜单
类,
般
view类或frame类),保存
控件关联
值,比
说m_editValue.
CSettingDlg
类
,
加
函数SetValue(int
a).
调用完CSettingDlg
dlg
,调用dlg.SetValue(m_editValue)设置
保存
值
.
CSettingDlg加
带
参数
构造函数,
每
调用
用CSettingDlg
dlg(m_editValue)
.
打
,都
重新构造
局部
象CSettingDlg,所
肯定
初始化
值.
解决
:
要
调用
框
类
(
点击菜单
类,
般
view类或frame类),保存
控件关联
值,比
说m_editValue.
CSettingDlg
类
,
加
函数SetValue(int
a).
调用完CSettingDlg
dlg
,调用dlg.SetValue(m_editValue)设置
保存
值
.
CSettingDlg加
带
参数
构造函数,
每
调用
用CSettingDlg
dlg(m_editValue)
.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-05-21
展开全部
在改变后
UpdateData(FALSE);
UpdateData(FALSE);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询