1. 程式人生 > >MFC 簡單的使用者登入介面(在主程式視窗之前)

MFC 簡單的使用者登入介面(在主程式視窗之前)

步驟一:登入介面設計

首先在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;
		}

	}

截圖展示如下:


說明:本例主要目的是告訴大家登入介面如何編寫,使用者資訊驗證程式碼在什麼地方寫;實際的登入不會這麼簡單,肯定會和資料庫關聯,並從資料庫中獲取使用者註冊資訊進行驗證。