freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

vc商品銷售對外管理系統(tǒng)設計畢業(yè)論文-資料下載頁

2025-06-28 09:03本頁面
  

【正文】 為控件添加變量按下Ctrl+W打開建立類向導(ClassWizard),選擇第二個選項卡,在Class Name下拉菜單中選擇CLogin,如圖:圖57 為類添加變量在下面的窗口中雙擊ID,為控件添加變量,變量名如下表: 變量名ID變量種類類型變量名IDC_ListControlCBaseListm_listIDC_EDTNameControlCEditm_LoginNameCtrIDC_EDTNameValueCStringm_LoginNameIDC_EDTPassWordControlCEditm_LoginKeyCtrIDC_EDTPassWordValueCStringm_LoginKeyIDC_QUESTIONValueCStringm_QuestionIDC_ANSWERValueCStringm_Answer 登錄窗口的啟動要使登陸窗口起作用,就應當使他在主程序啟動之前首先運行起來。這需要進行以下操作:,在OnCreate()方法中添加以下代碼: ……DockControlBar(amp。m_wndToolBar)。 //以下為添加的代碼 //連接數(shù)據(jù)庫 if((Sales manage)==false) return false。 CLogin dlg_login。 if(()==IDOK) { m_UserGroupName=。 ShowWindow(SW_SHOW)。 } else { CWnd* taskTray = FindWindow(Shell_TrayWnd, NULL)。//找到任務欄 thisSetParent(taskTray)。//把當前窗體設為其子窗體,從而隱藏主窗口 thisPostMessage(WM_CLOSE,0,0)。 } 動態(tài)調整外觀我們要動態(tài)調整窗口的狀態(tài),使得程序啟動時,密碼找回的問題與答案文本框都不可見,即對話框折疊起來,如圖:圖58 密碼找回而當當點擊“忘記密碼了?”按鈕時,對話框展開。為了達到這個目的,需要在CLogin類中重載OnInitDialog()方法,添加以下代碼:BOOL CLogin::OnInitDialog() { CDialog::OnInitDialog()。 //調整窗口大小 GetWindowRect(amp。rectLarge)。 GetDlgItem(IDC_SEPARATOR)GetWindowRect(amp。rectSeparator)。 =。 =。 =。 =。 SetWindowPos(NULL,0,0,(),(),SWP_NOMOVE|SWP_NOZORDER)。 ……}在程序啟動時,向List控件中添加操作員信息,因此還要繼續(xù)添加以下代碼:BOOL CLogin::OnInitDialog() { …… //將圖標添加到ImageList中 CString cName,cImage。 (32,32,ILC_COLOR32|ILC_MASK,0,0)。 for(int i=IDI_ICON1。i=IDI_ICON12。i++) {(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(i)))。 } (amp。m_ImageList)。 (用戶名)。 (頭像)。 (操作員信息)。 thisSetIcon(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_LOGIN)),FALSE)。 return TRUE。} 登陸功能的實現(xiàn)用戶在登陸時,可以手動輸入用戶名,也可以通過點擊List中的頭像,系統(tǒng)自動在用戶名文本框中填寫用戶名。為實現(xiàn)這一功能,在List控件上單擊右鍵,選擇事件,然后再彈出的對話框中添加NM_CLICK事件,編輯其代碼:void CLogin::OnClickList(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here CString sName。 sName=((),0)。 if(()) return。 (sName)。 ()。 *pResult = 0。}用戶點擊登陸按鈕時,將用戶輸入的密碼與數(shù)據(jù)庫中的密碼相比較,如果相同,就成功登陸,如果不同,就彈出密碼錯誤消息框,同時,記下登陸失敗次數(shù),當時失敗次數(shù)超過5次時,自動關閉系統(tǒng)。為實現(xiàn)這樣的功能,雙擊對話框上的登陸按鈕,添加登陸按鈕響應函數(shù)并編輯代碼如下:void CLogin::OnBUTLogin() { // TODO: Add your control notification handler code here CString sSavePassWard。 if(m_LoginTimes=4) { MessageBox(對不起,您允許登錄本系統(tǒng)!\n請與管理員聯(lián)系!,系統(tǒng)提示,MB_OK|MB_ICONSTOP)。 thisOnCancel()。 return。 } UpdateData()。 (m_LoginKey)。 if(()) { MessageBox(請選擇或輸入登陸名!,系統(tǒng)提示,MB_OK|MB_ICONSTOP)。 ()。 return。 } if(NoUser==(sSavePassWard=(操作員信息,用戶名,m_LoginName,密碼,1))) { MessageBox(用戶名不存在!)。 ()。 ()。 return。 } if(sSavePassWard==m_LoginKey) { //成功登陸到系統(tǒng) m_Operator=m_LoginName。 CString s,group。 group=(操作員信息,用戶名,m_Operator,用戶組,1)。 CString buf[16]={操作員管理,權限管理,系統(tǒng)管理,銷售管理,訂貨管理,退貨管理,銷售查詢,結款管理, 訂貨查詢,退貨查詢,結款查詢,數(shù)據(jù)備份,數(shù)據(jù)恢復,商品信息操作,公司信息操作,員工信息操作}。 m_Rights=。 for(int i=0。i16。i++) { s=(權限表,用戶組,group,buf[i],2)。 if(s!=0) m_Rights+=amp。+buf[i]。 } m_UserGroupName=(權限表,用戶組,group,用戶組名稱,2)。 thisOnOK()。 } else { CString str。 (密碼錯誤,請重新輸入!\n您還有%d次機會,4m_LoginTimes)。 MessageBox(str,系統(tǒng)提示,MB_OK|MB_ICONSTOP)。 m_LoginTimes++。 m_LoginKey=。 UpdateData(FALSE)。 ()。 } return。}以上代碼中,m_LoginTimes為int變量,用來記錄登陸失敗的次數(shù)。 密碼找回功能的實現(xiàn)忘記了密碼,就點擊“忘記密碼了?”按鈕,登陸對話框展開,用戶就可以看見找回密碼的兩個文本框和找回密碼按鈕。為了實現(xiàn)這一功能,給按鈕“忘記密碼了?”按鈕的點擊響應函數(shù),編輯代碼如下:void CLogin::OnFogetkey() { SetWindowPos(NULL,0,0,(),(),SWP_NOMOVE|SWP_NOZORDER)。 GetDlgItem(IDC_ANSWER)SetFocus()。}當用戶輸入用戶名或者點擊頭像時,載入密寶問題并顯示在問題文本框上,為實現(xiàn)這一功能,給按鈕“登陸名”文本框添加內容改變的響應函數(shù),編輯代碼如下:void CLogin::OnChangeEDTName() { if(()20) //用戶名過長 { MessageBox(用戶名不正確!)。 return。 } //讀取密寶信息 UpdateData()。 if(NoUser==(m_Question=(操作員信息,用戶名,m_LoginName,提示問題,1))) m_Question=。 UpdateData(FALSE)。}用戶輸入密寶答案,點擊找回密碼,如果答案回答正確,則彈出文本框,告訴用戶他的密碼,否則提示答案錯誤,登陸錯誤次數(shù)加一。連續(xù)輸入錯誤5次,則程序關閉。為實現(xiàn)這一功能,給按鈕“找回密碼”按鈕的點擊響應函數(shù),編輯代碼如下:void CLogin::OnFindkey() { // TODO: Add your control notification handler code here if(()) { MessageBox(請選擇或輸入登陸名!,系統(tǒng)提示,MB_OK|MB_ICONSTOP)。 ()。 return。 } UpdateData()。 CString str。 if(NoUser==(str=(操作員信息,用戶名,m_LoginName,問題答案,1))) str=。 if(str==m_Answer) { m_LoginKey=(操作員信息,用戶名,m_LoginName,密碼,1)。 (您的密碼是:%s\n請牢記!,m_LoginKey)。 MessageBox(str)。 SetWindowPos(NULL,0,0,(),(),SWP_NOMOVE|SWP_NOZORDER)。 } else { //輸入答案錯誤 static int n=0。 if(n=4) { MessageBox(對不起,您允許登錄本系統(tǒng)!\n請與管理員聯(lián)系!,系統(tǒng)提示,MB_OK|MB_ICONSTOP)。 thisOnCancel()。 return。 } CString str。 (您輸入的答案錯誤,請重新輸入!\n還有%d次機會,4n)。 MessageBox(str)。 n++。 }}當用戶輸入用戶名或密碼,敲回車時,程序應當認為用戶想要執(zhí)行登陸操作,而當用戶輸入密寶問題或答案并敲回車時,程序應當認為用戶想要執(zhí)行找回密碼操作。為實現(xiàn)這一功能,重載CLogin類的PreTranslateMessage()方法,編輯代碼如下:BOOL CLogin::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if(pMsgmessage==WM_KEYDOWNamp。amp。0x0d==pMsgwParam) { HWND hWnd=::GetFocus()。 int iID=::GetDlgCtrlID(hWnd)。 if(iID==IDC_EDTName) { OnBUTLogin()。 return TRUE。 } if(IDC_ANSWER==iID) { OnFindkey()。 return TRUE。 } if(IDC_EDTPassWard==iID) { OnBUTLogin()。 return TRUE。 } } else return CDialog::PreTranslateMessage(pMsg)。}這樣,整個登陸窗口就編寫完成了。新建一個對話框,給對話框添加控件如下圖所示:圖59 系統(tǒng)設置給對話框添加一個類,名稱為CDlgSetup。修改控件的ID,文本框從上到下從左到右依次為:IDC_EDTName,IDC_EDTADDR,IDC_EDTTEL,IDC_EDTTAX,IDC_EDTLINKMAN,IDC_EDTWEB,IDC_EDTPATH?!?..”按鈕ID為IDC_BUTPATH,“修改”按鈕ID為IDC_BUTChange,“保存”按鈕ID為IDC_SAVE,“退出” 按鈕ID為IDC_EXIT。為控件添加變量: 控件變量ID變量種類類型變量名IDC_EDTNameControlCEditm_EdtNameIDC_EDTADDRControlCEditm_EdtAddrIDC_EDTTELControlCEditm_EdtTelIDC_EDTTAXControlCEditm_EdtTaxIDC_EDTLINKMANControlCEditm_EdtLinkManIDC_EDTWEBControlCEditm_EdtWebIDC_EDTPATHControlCEditm_EdtPathIDC_BUTPATHControlCButtonm_ButPathIDC_BUTChangeControlCButtonm_ButChan
點擊復制文檔內容
職業(yè)教育相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1