在VS2005 MFC中"Edit Control"控件添加变量(int)的问题

在VS2005 MFC中"Edit Control"控件添加变量(int)的问题,第1张

m_time可以是类成员变量

应该是添加对话框类的控件变量,会自动生成相关代码,也可以在对话框的DoDataExchange函数手动添加

void CxxDlg::DoDataExchange(CDataExchange* pDX)//注意这个函数

{

CDialog::DoDataExchange(pDX)

DDX_Text(pDX, IDC_EDIT3, m_time)//自己手动添加。

}

两个方法:

第一种【用控件变量,运行快】:给这个Edit添加一个CEdit变量m_edit1。

在你需要这个编辑框的内容的时候,调用CString str=m_edit1.GetWindowText();然后 int h=_tstoi(str);而如果把一个int输出到编辑框,可以这样:int h;//此处为h赋值CString str;str.Format(_T("%d"),h)m_edit1.SetWindowText(str)

第二种【系统自动的,很简单】:给这个Edit添加一个int类型变量 m_edit1;在需要这个数的时候,UpdateData(TRUE)在需要输出到编辑框的时候,UpdateData(FALSE)

UpdateData()是对话框的数据交换函数,括号里填TRUE或不填,都代表从对话框获取,而为FALSE的时候,就是把当前的变量值发送回对话框。每次调用UpdateData()函数,都会针对对话框上所有的值类型变量控件交换数据,比如你有三个EDIT控件,那么调用UpdateData(TRUE)的时候,实际上获取了这三个控件的内容到对应的变量里,所以控件较多的时候,如果你只想获取某一个控件的状态,那么调用UpdateData()很慢。反而用GetWindowText()等函数反而很快。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11633240.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存