资源描述:
《系统登录界面设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、系统登录界面设计功能要求登录界面样式如上图所示;用户输入正确的用户名和密码方能成功进入系统;用户名和密码存放在数据库中;通过“选项按扭”可以显示或隐藏“数据源和数据库名”;数据源名和数据库名可以使用默认值也可以修改;设计步骤建立ODBC数据源和应用程序框架:在控制面版中建立数据源DSN,数据源名为ShopAssistant,连接到SQLServer或Access数据库,数据库中要建立一个表TableAccount,表中有两个字段,一个为AccountNo,一个为Pswd.使用VC++应用程序向导创建一个单文档应用程
2、序SysLogin;2)设计登录界面3)对话框属性4)添加对话框类Clogin5)添加成员变量使用类向导按上图添加成员变量:m_User,m_PassWord,m_DSN,m_DataBase在Login.h中修改类,添加另一个成员变量LoginFlag。格式为:BOOLLoginFlag;6)初始化成员变量在Login.cpp中的对话框类的构造函数中初始化成员变量;格式如下:CLogin::CLogin(CWnd*pParent/*=NULL*/):CDialog(CLogin::IDD,pParent){//{
3、{AFX_DATA_INIT(CLogin)m_CheckSet=FALSE;m_User=_T("");m_PassWord=_T("");m_DSN=_T("ShopAssistant");m_DataBase=_T("TableAccount");LoginFlag=FALSE;//}}AFX_DATA_INIT}7)导入ADO类库在StdAfx.h中加入如下代码:#import“c:programfilescommonfilessystemadomsado15.dll"no_namespacere
4、name("EOF","adoEOF")8)初始化ADO在应用程序文件SysLogin.cpp的系统初始化函数BOOLCSysLoginApp::InitInstance()中加入如下代码:位置在预处理命令之后。//初始化ADOif(!AfxOleInit()){AfxMessageBox("OLE/COM初始化失败!");returnFALSE;}9)显示登录窗口在函数BOOLCSysLoginApp::InitInstance()中,在初始化主窗口之前调用登录窗口,(位置在函数的末尾)代码如下:CLoginlo
5、gin;login.DoModal();if(login.LoginFlag==TRUE)returnTRUE;elsereturnFALSE;10)设置登录对话框的初始大小应用类向导,给对话框类添加消息WM_INITDIALOG处理函数:BOOLCLogin::OnInitDialog()增加如下代码:SetWindowPos(NULL,0,0,350,200,SWP_NOZORDER
6、SWP_NOMOVE);其中:350,200为窗口的宽度和高度,要根据你所设计的窗口的大小调整,以便能完全显示内容。11)编写复
7、选框的消息处理函数,以便实现窗口的折叠voidCLogin::OnCheck1(){//TODO:Addyourcontrolnotificationhandlercodehereif(m_CheckSet)m_CheckSet=FALSE;elsem_CheckSet=TRUE;intbottom;if(m_CheckSet==TRUE)bottom=300;elsebottom=200;SetWindowPos(NULL,0,0,350,bottom,SWP_NOZORDER
8、SWP_NOMOVE);}12)编
9、写登录按钮的消息处理函数voidCLogin::OnOK()该函数代码包括连接数据源、连接记录集、口令验证。13)连接数据源//连接数据源this->UpdateData(TRUE);//将控件的值传给内存变量_ConnectionPtrpConn;_RecordsetPtrpSet;pConn.CreateInstance(_uuidof(Connection));pSet.CreateInstance(_uuidof(Recordset));try{_bstr_tConn="DSN="+_bstr_t(m_DS
10、N)+";";pConn->Open(Conn,"","",adModeUnknown);if(pConn->State)AfxMessageBox("数据库连接成功!");}catch(_com_errore){AfxMessageBox("数据库连接失败!请查看数据源连接是否正确!");}14)连接记录集//连接记录集try{_bstr_tstrSQL=