关于edit的数据更新

在VS2005 MFC中"Edit Control"控件添加变量(int)的问题
2011-08-27 17:20等待那份情 | 分类:VC++ | 浏览2582次
我已经添加了一个变量m_time,类别是value,变量类型是int
请问,怎么将编辑框中的数字赋值到m_time中?希望可以给出详细C++代码。

ps:我本以为UpdateData(TRUE);就可以将编辑框中的数字赋值到m_time中,但是m_time貌似不是全局变量,根本不可以调用。
分享到:
2011-08-28 01:22 提问者采纳
m_time可以是类成员变量。
应该是添加对话框类的控件变量,会自动生成相关代码,也可以在对话框的DoDataExchange函数手动添加

void CxxDlg::DoDataExchange(CDataExchange* pDX)//注意这个函数
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT3, m_time);//自己手动添加。
}
追问
我的意思是怎么赋值给m_time,然后在按钮中调用这一变量?
回答
在DoDataExchange中用 DDX_Text建立了m_time到ID为IDC_EDIT3的edit控件关联后就可以
调用UpdateData(TRUE)将数据从对话框的控件中传送到对应的数据成员,即将编辑框中的数字赋值到m_time中。
中,调用UpdateData(FALSE)则将数据从数据成员中传送给对应的控件。即将编辑框中的数字显示为m_time的值。
比如要在edit中显示3
m_time= 3;
UpdateData(FALSE)

此时edit中显示的字符为"3"

要让m_time保存edit中显示的"1",那么
调用UpdateData(TRUE);
此时m_time的数值就变成1了。
追问
貌似m_time不是全局变量啊。。
回答

不是全局变量有什么关系呢,你可以用dlg.m_time之类的语句来访问,只要把m_time定义成Public的不就行了。

/

先读入输入一个字符后Edit中的整个字符串(之前已经规定了新输入的字符一定在最后),然后截取最后一个字符,并将截取的字符用SetWindowsText命令显示在Edit中

void CCalculatorDlg::OnEnChangeEdit1()
{
if (m_Change == true)
{
CString str;
GetDlgItemText(IDC_EDIT1, str);
SetDlgItemText(IDC_EDIT, str.Right(1));/
m_Change = false;
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值