先前说句实话,对于VC 6的图形界面编程真的不懂,很多东西都不知道,拿到这本书,还不知道怎么做?你会说我很傻吧,好,我承认,因为上面没有手把手的教你你VC6,所以,很多东西都是自己瞎弄出来的,这里写这么多的总结,一则怕不用就忘了,二则,也是总结学些的体会吧。
先说说这个东西吧。小界面,两个EditBox,一个是用户名,一个是密码,然后点击登陆,就比较账号和密码,看是不是和设定的一致,如果不一致,则输出信息,如果没有输入部分,则提示,如果错误,也提示错误信息。
先看看核心代码:
void CTest12Dlg::OnLoad()
{
// TODO: Add your control notification handler code here
CString str;
UpdateData(TRUE);
if((strcmp(m_name,"张三")==0)&&(strcmp(m_password,"112")==0))
str = "密码正确,OK!";
else if((strcmp(m_name,"")==0)||(strcmp(m_password,"")==0))
str = "请输入用户名或密码!";
else
str = "用户名或密码错误!";
MessageBox(str);
}
很简单,就是比较,然后设置str,最后输出即可。
关键的一点就是那个UpdateData(TRUE),这里的这个函数OnLoad就是点击那个Button时响应的函数,于是每次UpadateData就是为了将控件的内容保存到变量中。现在的问题是,如何将控件和变量关联呢?
这个之前的一个程序也遇到过,不过由于没有操作,不知道,这里就晒晒。(见图:)
在这个上面,添加变量的按钮在右边,上面点击,就可以为这两个IDC_EDIT1和IDC_EDIT2添加相关联的变量了,这里选择的类型是CString,那么变量的内容就保存在CString中,对于的变量名也就是你设置的那样。
而后面的代码,也就是你的那个Demo中可以随意的改变的,任何更改,在你点击Button的时候,都会有上面的UpdateData函数来实现写入变量中,于是,只需要比较和既定的相同的就可以了。。
还有最后一点就是:如何让那个EditBox显示出来那个“******”,也就是使得出现隐藏你输入的目的呢?
很简单,EditBox的属性设置为Password就OK了。。
(附记:在编写的过程中,也渐渐的了解了编译器到底为我做了些什么,其实,将控件和变量关联,就是做了一个映射,DoDataExchange函数就是实现这个功能的部分,前面做的一个例子失败的时候,通过比对代码,发现就是没有将其关联,于是这里就明白了。原来是这么回事,从而也加深了学习的兴趣!)
又完成了一个。 下载地址:
http://www.pudn.com/detail.asp?id=1059852
posted on 2010-02-05 21:14
deercoder 阅读(477)
评论(0) 编辑 收藏 引用