关于文本框的MFC程序

我建立了一个MFC工程,工程名为pass,单文档,我又自己创建了一个对话框用于登录时输入密码,此对话框的类为CLogin我在Login.cpp文件中添加了#include... 我建立了一个MFC工程,工程名为pass,单文档,我又自己创建了一个对话框用于登录时输入密码,此对话框的类为CLogin
我在Login.cpp文件中添加了#include "Login.h"并在函数CPassApp::InitInstance()中写了如下代码:
CLogin dlg;
if(dlg.DoModal()==IDOK)
{
if(dlg.m_password!=1234)
{
AfxMessageBox("密码错误!");
return FALSE;
}
}
else
{
AfxMessageBox("程序退出!");
return FALSE;
}

其中m_password为一个和文本框关联的整型变量,请问m_password是随时更新吗?就是说每当在文本框中输入一个数后都更新到m_password中吗?为什么有的程序必须加上UpdateData(true);才能更新,而这个程序中不加这个函数?
展开
 我来答
6908270270
2008-10-16 · TA获得超过3427个赞
知道小有建树答主
回答量:1988
采纳率:0%
帮助的人:704万
展开全部
我觉得这个时候dlg只是一个C++对象,它早与Windows窗口分离了
它上面的m_password已经在窗口被销毁之前系统自动刷新

而你说的另外的情况是窗口还没被销毁
百度网友4760e14
2008-10-15 · TA获得超过164个赞
知道小有建树答主
回答量:265
采纳率:0%
帮助的人:252万
展开全部
m_password 是随时更新的, 只是在文本框 没有随时更新,,

要对 控件和 关联的 变量 进行同步的话 就要 UpdateData。

也就是说 m_password 变 2 了,, 但是文本框显示还是3 ,, 它的变量 是变

了,

调用它的值 也是变化的值。

但是显示给用户的值 没有变化, 要显示变化的话,就要用 UpdateData。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
四念住
2008-10-14 · TA获得超过270个赞
知道小有建树答主
回答量:587
采纳率:0%
帮助的人:239万
展开全部
UpdateData(true) means Interface -> Member Variables
UpdateData(false) means Member Variables -> Interface

你在对话框中修改数据的时,成员变量并没有改变
同样,当你修改成员变量时,对话框中的数据是不会改变的
UpdateData()就是来保持同步的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lidong_xy
2008-10-15 · 超过28用户采纳过TA的回答
知道答主
回答量:133
采纳率:0%
帮助的人:88.6万
展开全部
UpdateData(true)是将编辑框的值更新给m_password
UpdateData(false)是将m_password的值更新给编辑框
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式