資源描述:
《系統(tǒng)登錄界面設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、系統(tǒng)登錄界面設(shè)計(jì)功能要求登錄界面樣式如上圖所示;用戶輸入正確的用戶名和密碼方能成功進(jìn)入系統(tǒng);用戶名和密碼存放在數(shù)據(jù)庫(kù)中;通過(guò)“選項(xiàng)按扭”可以顯示或隱藏“數(shù)據(jù)源和數(shù)據(jù)庫(kù)名”;數(shù)據(jù)源名和數(shù)據(jù)庫(kù)名可以使用默認(rèn)值也可以修改;設(shè)計(jì)步驟建立ODBC數(shù)據(jù)源和應(yīng)用程序框架:在控制面版中建立數(shù)據(jù)源DSN,數(shù)據(jù)源名為ShopAssistant,連接到SQLServer或Access數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)中要建立一個(gè)表TableAccount,表中有兩個(gè)字段,一個(gè)為AccountNo,一個(gè)為Pswd.使用VC++應(yīng)用程序向?qū)?chuàng)建一個(gè)單文檔應(yīng)用程
2、序SysLogin;2)設(shè)計(jì)登錄界面3)對(duì)話框?qū)傩?)添加對(duì)話框類Clogin5)添加成員變量使用類向?qū)О瓷蠄D添加成員變量:m_User,m_PassWord,m_DSN,m_DataBase在Login.h中修改類,添加另一個(gè)成員變量LoginFlag。格式為:BOOLLoginFlag;6)初始化成員變量在Login.cpp中的對(duì)話框類的構(gòu)造函數(shù)中初始化成員變量;格式如下: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)導(dǎo)入ADO類庫(kù)在StdAfx.h中加入如下代碼:#import“c:programfilescommonfilessystemadomsado15.dll"no_namespacere
4、name("EOF","adoEOF")8)初始化ADO在應(yīng)用程序文件SysLogin.cpp的系統(tǒng)初始化函數(shù)BOOLCSysLoginApp::InitInstance()中加入如下代碼:位置在預(yù)處理命令之后。//初始化ADOif(!AfxOleInit()){AfxMessageBox("OLE/COM初始化失?。?);returnFALSE;}9)顯示登錄窗口在函數(shù)BOOLCSysLoginApp::InitInstance()中,在初始化主窗口之前調(diào)用登錄窗口,(位置在函數(shù)的末尾)代碼如下:CLoginlo
5、gin;login.DoModal();if(login.LoginFlag==TRUE)returnTRUE;elsereturnFALSE;10)設(shè)置登錄對(duì)話框的初始大小應(yīng)用類向?qū)Вo對(duì)話框類添加消息WM_INITDIALOG處理函數(shù):BOOLCLogin::OnInitDialog()增加如下代碼:SetWindowPos(NULL,0,0,350,200,SWP_NOZORDER
6、SWP_NOMOVE);其中:350,200為窗口的寬度和高度,要根據(jù)你所設(shè)計(jì)的窗口的大小調(diào)整,以便能完全顯示內(nèi)容。11)編寫復(fù)
7、選框的消息處理函數(shù),以便實(shí)現(xiàn)窗口的折疊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、寫登錄按鈕的消息處理函數(shù)voidCLogin::OnOK()該函數(shù)代碼包括連接數(shù)據(jù)源、連接記錄集、口令驗(yàn)證。13)連接數(shù)據(jù)源//連接數(shù)據(jù)源this->UpdateData(TRUE);//將控件的值傳給內(nèi)存變量_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("數(shù)據(jù)庫(kù)連接成功!");}catch(_com_errore){AfxMessageBox("數(shù)據(jù)庫(kù)連接失?。≌?qǐng)查看數(shù)據(jù)源連接是否正確!");}14)連接記錄集//連接記錄集try{_bstr_tstrSQL=