MFC 簡單的使用者登入介面(在主程式視窗之前)
阿新 • • 發佈:2019-01-09
步驟一:登入介面設計
首先在VS中設計一個簡單的登入介面,點選【資源檢視】,然後右鍵【Dialog】,選擇【新增資源】——【Dialog】——【新建】,這樣就建立了一個新的空白對話方塊。
可以按自己的需要更改視窗的ID,並根據自己需要將視窗設計成登入的方式,例如我的設計如下:
在建立使用者登入介面的時候,在新增兩個示例編輯框的同時,新增變數(CString 型別)m_strUser和m_strPassword。
步驟二:新增登入驗證程式碼
在主程式的App類的InitInstance函式體內的最前面加上如下程式碼(這裡為BOOL CGeoDemoApp::InitInstance()函式):
//============登入=========== //在主程式視窗執行前首先彈出登入對話方塊 while (TRUE) { CLogin login_Dialog; //模態對話方塊 int nReturn = login_Dialog.DoModal();//返回IDOK或IDCANCEL。如果返回的是IDCANCEL,則要呼叫WindowsCommDlgExtendedError函式來確定是否發生了一個錯誤。IDOK和IDCANCEL都是常量,它表明使用者選擇的是OK按鈕還是Cancel按鈕 if(nReturn == IDCANCEL){//點選取消 return FALSE; } if (nReturn == IDOK){//點選確定 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,則報錯,提示重新輸入,直至正確為止。 if(IDOK == MessageBox(NULL,"使用者ID或密碼錯誤!\n 請重新輸入!","登入失敗!",MB_OKCANCEL|MB_ICONERROR)) continue; else return FALSE; } else break; } }
截圖展示如下:
說明:本例主要目的是告訴大家登入介面如何編寫,使用者資訊驗證程式碼在什麼地方寫;實際的登入不會這麼簡單,肯定會和資料庫關聯,並從資料庫中獲取使用者註冊資訊進行驗證。