首先在VS中設(shè)計(jì)一個(gè)簡(jiǎn)單的登錄界面,點(diǎn)擊【資源視圖】,然后右鍵【Dialog】,選擇【添加資源】——【Dialog】——【新建】,這樣就創(chuàng)建了一個(gè)新的空白對(duì)話框。
可以按自己的需要更改窗口的ID,并根據(jù)自己需要將窗口設(shè)計(jì)成登錄的方式,例如我的設(shè)計(jì)如下:
在建立用戶登錄界面的時(shí)候,在添加兩個(gè)示例編輯框的同時(shí),添加變量(CString 類型)m_strUser和m_strPassword。
步驟二:添加登錄驗(yàn)證代碼
在主程序的App類的InitInstance函數(shù)體內(nèi)的最前面加上如下代碼(這里為BOOL CGeoDemoApp::InitInstance()函數(shù)):
[cpp]
view plain copy//============登錄===========
//在主程序窗口運(yùn)行前首先彈出登錄對(duì)話框
while (TRUE)
{
CLogin login_Dialog;
//模態(tài)對(duì)話框
int nReturn = login_Dialog.DoModal();//返回IDOK或IDCANCEL。如果返回的是IDCANCEL,則要調(diào)用WindowsCommDlgExtendedError函數(shù)來(lái)確定是否發(fā)生了一個(gè)錯(cuò)誤。IDOK和IDCANCEL都是常量,它表明用戶選擇的是OK按鈕還是Cancel按鈕
if(nReturn == IDCANCEL){//點(diǎn)擊取消
return FALSE;
}
if (nReturn == IDOK){//點(diǎn)擊確定
HWND login_Hwnd = GetDlgItem(login_Dialog,IDD_LOGIN);
CString str_User = login_Dialog.m_strUser;
CString str_Password = login_Dialog.m_strPassword;
if(!(str_User == "admin" && str_Password == "admin")){//如果用戶名密碼不是admin/admin,則報(bào)錯(cuò),提示重新輸入,直至正確為止。
if(IDOK == MessageBox(NULL,"用戶ID或密碼錯(cuò)誤!\n 請(qǐng)重新輸入!","登錄失?。?,MB_OKCANCEL|MB_ICONERROR))
continue;
else
return FALSE;
}
else
break;
}
}
截圖展示如下:
說(shuō)明:本例主要目的是告訴大家登錄界面如何編寫,用戶信息驗(yàn)證代碼在什么地方寫;實(shí)際的登錄不會(huì)這么簡(jiǎn)單,肯定會(huì)和
數(shù)據(jù)庫(kù)關(guān)聯(lián),并從數(shù)據(jù)庫(kù)中獲取用戶注冊(cè)信息進(jìn)行驗(yàn)證。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。