VC2005问题。

本人用VC2005编写了一个修改密码的小程序,但是不知道为什么在修改密码时只要你把用户名,旧密码和新密码全部输入完后按确定按钮时它就什么反应都没有,但是在你没有把那几项输... 本人用VC2005编写了一个修改密码的小程序,但是不知道为什么在修改密码时只要你把用户名,旧密码和新密码全部输入完后按确定按钮时它就什么反应都没有,但是在你没有把那几项输入完成时,按确定按钮它就会出现提示。?

请问这是什么原因造成的?具体解决方法是什么?
我试了一下还是不行。。= =
展开
 我来答
yzljlss
2010-12-31 · TA获得超过106个赞
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:0
展开全部
应该是那个确定按钮的响应函数,例如OnOK里在提示代码之前已经return了,根据你的情况,最有可能的是你判断数据是否为空的地方逻辑反了,例如下面:

void CTestDlg::OnOK()
{
if ( m_username.IsEmpty() && m_password.IsEmpty() ) //你仔细检查这里,是不是有类似这样的错误
return;
AfxMessageBox("这里是提示信息!");
}

CString::IsEmpty()函数如果对象为空,返回TRUE,否则返回FALSE。

改为
if ( m_username.IsEmpty() || m_password.IsEmpty() )
return;

===补充===
上你的这个函数代码,我替你看看
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F4是由ST(意法半导体)开发的一种高性能微控制器系列。其采用了90nm的NVM工艺和ART技术(自适应实时存储加速器,Adaptive Real-Time MemoryAccelerator)。STM32F4是一款基于ARM C... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
好巧焙0
2010-12-31 · TA获得超过123个赞
知道小有建树答主
回答量:265
采纳率:0%
帮助的人:127万
展开全部
肯定是,你点击确定的时候,验证控件值输入的有效性,如果没有通过验证你要return掉,如果全部通过验证你要往下走!这种情况,你直接跟踪程序就可以了,一下就能定位到原因.
if(!验证有效性方法) 验证方法返回bool 通过返回true
return;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nqokhxt
2011-01-03 · TA获得超过525个赞
知道小有建树答主
回答量:442
采纳率:0%
帮助的人:85万
展开全部
强烈推荐2005.
它调试很方便,对于写代码的,如果不会调试,基本就费了一半,6.0的调试让人想杀人。
而且2005用的是更新的stl库,更加安全,比如有vector的越界检查。
微软的东西,会一代淘汰一代,你既然是初学,为什么不直接学最好的呢?

另外,
#include <iostream>
using namespace std;
这个是在一开始就声明,要用标准模板库,编译器在编译的时候就会去stl库里找,而
std::cout<<"Hello World!\n"; 这个是用到的地方才告诉编译器,你用的是标准模板库的东西。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gpasb46
2011-01-10 · TA获得超过3628个赞
知道小有建树答主
回答量:1614
采纳率:100%
帮助的人:1031万
展开全部
强烈推荐2005.
它调试很方便,对于写代码的,如果不会调试,基本就费了一半,6.0的调试让人想杀人。
而且2005用的是更新的stl库,更加安全,比如有vector的越界检查。
微软的东西,会一代淘汰一代,你既然是初学,为什么不直接学最好的呢?

另外,
#include <iostream>
using namespace std;
这个是在一开始就声明,要用标准模板库,编译器在编译的时候就会去stl库里找,而
std::cout<<"Hello World!\n"; 这个是用到的地方才告诉编译器,你用的是标准模板库的东西。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式