随笔-145  评论-173  文章-70  trackbacks-0

先前说句实话,对于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 阅读(469) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理