C++ mfc 如何设置子对话框中edit控件的初始默认值?

在子对话框中没有BOOLCt1Dlg::OnInitDialog(){}//初始值为一个double类型我知道了,在类向导里添加虚函数... 在子对话框中没有
BOOL Ct1Dlg::OnInitDialog()
{ }//初始值为一个double类型
我知道了,在类向导里添加虚函数
展开
 我来答
442863748
2014-03-26 · 超过14用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:30.8万
展开全部
你用的是VC吗,直接改属性,或者给EDIT绑定一个变量,变量类型为DOUBLE,也可以是其他的,看你以后用什么了,然后在窗体初始化函数下让这个变量比如m_edit = 1,再加个UpdateData(0),也有可能是UpdateDate(1)我忘了,就行了,这样你以后用到这个值的时候也方便。
更多追问追答
追问
我之前用的这个函数
((CEdit*)GetDlgItem(IDC_EDIT1))->SetWindowText(L"11.34")//11.34为初值,
但是,如果在输入框里填写另一个值,这时再
UpdateData(FALSE);
对话框里就又变成了初值,不会是新的输入的值,
追答
光填在对话框里不行,有两个方法,一个是你给控件绑定一个变量加个UpdateDate(1),再一个就是你在UpdateData(0)前再 ((CEdit*)GetDlgItem(IDC_EDIT1))->SetWindowText( ((CEdit*)GetDlgItem(IDC_EDIT1))->GetWindowText()
个人推荐绑定变量的方法
缪立军
推荐于2017-09-23 · TA获得超过384个赞
知道小有建树答主
回答量:257
采纳率:100%
帮助的人:171万
展开全部
CString str;
str.Format("%f",value);
GetDlgItem(ID)->SetWindowText(str);

value为你要设置的double类型的初值
ID为你edit控件的id
追问
我之前用的这个函数
((CEdit*)GetDlgItem(IDC_EDIT1))->SetWindowText(L"11.34")//11.34为初值,
但是,如果在输入框里填写另一个值,这是再
UpdateData(FALSE);
就又变成了初值,不会是新的输入的值
追答
如果你给CEdit变量关联了变量如为m_edit_value,类型为double
那么在初始化时调用((CEdit*)GetDlgItem(IDC_EDIT1))->SetWindowText(L"11.34"),
m_edit_value=11.34
当你在编辑框中输入值时,没有进行UpdateData(TRUE),即将编辑框中的新值覆盖m_edit_value中的值,所以变量中值没变
当你执行UpdateData(FALSE)时,编辑框通过关联变量m_edit_value进行刷新,所以又变成了11.34

有问题欢迎继续讨论
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
碧海O_O聆风
2014-03-26
知道答主
回答量:2
采纳率:0%
帮助的人:2782
展开全部
给控件关联一个变量,在OnInitDialog()中给该变量赋值就可以了
追问
在子对话框中没有
BOOL Ct1Dlg::OnInitDialog()//Ct1Dlg是对话框名字
啊????
追答
这个函数是可以添加的,在类视图中找到这个对话框的类,右键打开类向导,找到WM_INITDIALOG,添加处理程序就有了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
归悦欣cf
2014-03-26 · TA获得超过1443个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1310万
展开全部
在构造函数里面给编辑框关联变量赋值
追问
构造函数是哪个??

void Ct1::DoDataExchange(CDataExchange* pDX) 吗??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式