C++ mfc 如何设置子对话框中edit控件的初始默认值?
在子对话框中没有BOOLCt1Dlg::OnInitDialog(){}//初始值为一个double类型我知道了,在类向导里添加虚函数...
在子对话框中没有
BOOL Ct1Dlg::OnInitDialog()
{ }//初始值为一个double类型
我知道了,在类向导里添加虚函数 展开
BOOL Ct1Dlg::OnInitDialog()
{ }//初始值为一个double类型
我知道了,在类向导里添加虚函数 展开
4个回答
展开全部
你用的是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()
个人推荐绑定变量的方法
展开全部
CString str;
str.Format("%f",value);
GetDlgItem(ID)->SetWindowText(str);
value为你要设置的double类型的初值
ID为你edit控件的id
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
有问题欢迎继续讨论
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给控件关联一个变量,在OnInitDialog()中给该变量赋值就可以了
追问
在子对话框中没有
BOOL Ct1Dlg::OnInitDialog()//Ct1Dlg是对话框名字
啊????
追答
这个函数是可以添加的,在类视图中找到这个对话框的类,右键打开类向导,找到WM_INITDIALOG,添加处理程序就有了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在构造函数里面给编辑框关联变量赋值
追问
构造函数是哪个??
void Ct1::DoDataExchange(CDataExchange* pDX) 吗??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询