MFC開(kāi)發(fā)學(xué)生信息管理系統(tǒng)(詳細(xì))_第1頁(yè)
MFC開(kāi)發(fā)學(xué)生信息管理系統(tǒng)(詳細(xì))_第2頁(yè)
MFC開(kāi)發(fā)學(xué)生信息管理系統(tǒng)(詳細(xì))_第3頁(yè)
MFC開(kāi)發(fā)學(xué)生信息管理系統(tǒng)(詳細(xì))_第4頁(yè)
MFC開(kāi)發(fā)學(xué)生信息管理系統(tǒng)(詳細(xì))_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、學(xué)生信息管理系統(tǒng)student.mdb(一i)用 microsoft office access 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)(圖1.1 )在表中添加字段和數(shù)據(jù)類(lèi)型,如下圖所示:dainfo學(xué)制 入學(xué)時(shí)間班級(jí)號(hào) 斫在唉系 專(zhuān)業(yè)名秘李法寶稱(chēng)時(shí)據(jù)羋引dtpart(圖1.2)student:教據(jù)庫(kù)(Access 2(XK文件格式)扇打開(kāi)叱殳計(jì)5新建使用設(shè)計(jì)器創(chuàng)建表 使用向?qū)?chuàng)建基 通過(guò)輸入敷據(jù)創(chuàng)建去(圖1.3)classaodepartsptci alstudyytarentertime上h1201數(shù)拽學(xué)院22012/9/320120Z計(jì)耳機(jī)學(xué)院計(jì)算機(jī)專(zhuān)112如g/i.2012D3醫(yī)學(xué)院麻醉學(xué)3Z01Z/9/13

2、012D4經(jīng)管學(xué)院市場(chǎng)管理52012/9/1.201205數(shù)理學(xué)院找核彈32012/9/1:ZO12O6國(guó)防生數(shù)字化工程2Z01Z/9/12012OT設(shè)藝學(xué)除音樂(lè)系22012/9/1*0.創(chuàng)建ODBC數(shù)據(jù)源選擇控制面板一管理工具一數(shù)據(jù)源( ODBC ) 一系統(tǒng)DSN標(biāo)簽一單擊“添加”出現(xiàn)下圖所示的界面。選擇Drive do Microsoft Access (*.mdb),單擊完成。(圖1.7)輸入數(shù)據(jù)源名,單擊“選擇、,選才i c/student.mdb單擊“確定”,將會(huì)出現(xiàn)如圖 所示。(圖1.5)(圖1.6)(圖1.7)(二).MFC圖形建立新建文件E程工把區(qū)其它文檔rggN):STUDX

3、IMXI鳥(niǎo)置:STUDXINXI端 ATL COMAppWizard7?1 Cluster Resourte Type Wizardyi Custom AppWiward造 Databus Project啜 DevStudio Addin WizardExtended Slonrd Proc WizardISAPI Extension WizardMakefile信物J建新的工便空間B)相加到當(dāng)前工作空間回r孰jk于回:濫 MFC ActiveX Controlwizard 窗 MFC AppWtzard dll)MFC AppWizard exeY| Utility ProjectBl Wi

4、n32 Application二jWin32 Console Jppiicatiui)國(guó) Win32 Dynamic-Link LibraryWin32 Static Library平臺(tái)(0:回 Win32喃定取特別注意:創(chuàng)建的應(yīng)用程序類(lèi)型是單文檔(single document應(yīng)用程序)(圖2.2)將CSTUDXINXIVieW勺基類(lèi)改為CScrollView然后單擊“完成”(圖2.3)為數(shù)據(jù)表創(chuàng)建CRecordSet用戶(hù)類(lèi)按 “Ctrl+W ” 進(jìn)入“建立類(lèi)向?qū)В?MFCClasWizard )” 單擊 “Add Class.” 選擇“New”如圖(圖2.4)所示.按照(圖2.5) 一(

5、圖2.6) 一(圖2.7)的 安裝順序。即可完成創(chuàng)建 CRecordSet用戶(hù)類(lèi)的工作。Mcnibtf VmldblesAuluinulluiiAcdvtX EventsClass InduPrnjerttisllJ DXINXICMainFrameC:STAJnxiNXlMalnFrm.h, C:SJUDXlNXlMinFrm.cppMcssayES:CMainrramcID APr ABOUT三ID APP EXITI D-Eni r COPYin_EDi r _CUTfD_ED1T_PASTEID ED1T_UNDOVOLpecst IDs:Member lunctlono:Acliva

6、tcFramc CoIcWi ndo wRccI Create nefWinrtowProc DfifitrnyWin ri nw DuD3IExctiaiiye GctActivcIucu meritW OnCreateQN_WM_ C RE ATEV PrcCrc atcWidduwDescription確定取力(圖2.4)OKC a n:c:e IAistuniiitiuvi Ah IriHTi zufiiiraCrralMble hy ly1七 ID: |S1 UDXINXI.CIansInfoSctTlie bx#七 clx住s do七o iml support(圖2.5)(圖2.6

7、)(圖2.7)在 stdafx.h 文件中添加 CRecordSet 包含語(yǔ)句:#include如圖(圖2.8)所示0m 國(guó)工作區(qū)STUDXIHXI ,二1工程 - 霞喜TUDXIHXI files_ 二j Source Files-口 Header Files il ClasslnfoSet 國(guó) NainFrn.h 國(guó) Resource.h j1|Stdftfx-h| g) STUDKINXI.h .STUDXINXIDoc.h 圖 STUDXlNXlUitu.hE _j Resource FilesUSTUDXINXI.ico圜 STUDXIHXI-rc2商 STUDXIHXIDoc.ic

8、o=1 JoQlbar .bnp_g ReadMe.txt/ LUdrx-ii ; xiiui-uue rxie rur Ldnudrun or project specific include files tf/ are changed inFrequentliy nif * defined(AFX STDAFXH BGRDSCFH FQ9W ffdefine fiFK_STDftFK_H_BCfi53G54_FD03Z4B9 1 BOO tipragna oncettendlf / MSC UER 1(100ttdefine UCEKTRftLEAMttlncludeInclude inc

9、lude ,/ Exclude 卜/ MFC core U MFC pxterttincludf /ttinclude /VifndeF _fiFK_MO_AFKCim_SUPPORTMFC AutorMFC suppt;include / MFC suppcHendiF _fiFX_NO_fiFXCt1N_SUPPORT strSpeciatControl IDs;TypeMemberDescription:CStrmg with length vahdatFonUpdate C(BindSTUDXINXICCIassInfoDIgC:STUOXINXIClas3lnfoDlg.k C:ST

10、UDXINXIiCl3sslnftjDlg.cppMaximum Characters:ft曲去(圖 3.4)使用類(lèi)向?qū)?CClassInfoDlg類(lèi)添加 WM_INITDIALOG 消息映射。代碼位于附錄1。見(jiàn)(圖3.5)使用類(lèi)向?qū)?CClassInfoDlg類(lèi)添加IDOK按鈕的BN_CLICKED 消息映射。代碼位于附錄2。見(jiàn)(圖3.6)DQOL CClaInFoDlg:QnnitDialog()ClYialoj: iOnlnitbialagO;initialization here力”有關(guān)于消息映射Hpgmata(FRLSEh return TRUE: / return TRUE u

11、nless quu set the Focus to a cc ff EXCEPT【UN= UCK Property Payes stiould return(圖 3.5)(laid CClasInFoDLg: :0n0KC)/ T(IOO: Add extra ualidation hereUpdat?Data();ni_5trClasHa.TrimLeFtO;ntrepart-TriniLeFtC);R_strSpeGial.TrimLeftQ;iF( n_5tr Depart. IsEmptyO)N產(chǎn)日qeHox必須要看所院系);else if (in_5trSpecial- IsEnp

12、tyC )他55叫RBOX(,必須要郁妊線(xiàn)T:;elseLF(m_strClassNO .1 sEnptyO) 而ssageBoxL必須要有跳級(jí)號(hào)T”); B1SECOialoq:OnOK();(圖 3.6)鑒于添加代碼都是從類(lèi)向?qū)д业较鄳?yīng)的代碼區(qū)域,以后就不詳細(xì)截圖了(四)實(shí)現(xiàn)班級(jí)基本信息添加和顯示功能為 CSTUDXINXIVieWfe添力口一個(gè) LOGFONT成員變量 m_lfFont選才A Add MemberVariable出現(xiàn)(圖4.1)所示 輸入下面表格的變量類(lèi)型和名稱(chēng)即可。連續(xù)三次。變量類(lèi)型變量名稱(chēng)LOGFONTm_lfFontCStringm_strClassNOCStrin

13、gm_strSQL在 CSTUDXINXIView:CSTUDXINXIView()添力口代碼。代碼位于附錄3.(圖 4.1)添加一個(gè)成員函數(shù)如(圖4.2)所示。添加成員函數(shù)Static Virtual|vQjd語(yǔ)數(shù)描述0:lass Info ICDCpDCXString strChsSjCString strSQLjiAccess Q PublicProtectedPrivate(圖 4.2)添加代碼,位于附錄4.在 STUDXINXIView.cpp 文件的前面添加 CClassInfo 類(lèi)的包含語(yǔ)句:#includeClassInfoSet.h打開(kāi)菜單資源,添加如(圖4.3)所示的菜單項(xiàng)

14、。文件的務(wù)事陽(yáng)黃看M m(H)信息轆入i_1 f 班謖信息蛇入(圖 4.3)用類(lèi)向?qū)镃STUDXINXIView 類(lèi)添加該菜單項(xiàng)的 COMMAND 消息映射,并添加代碼。 代碼位于附錄5 在 CSTUDXINXIView : OnDraw 函數(shù)添加代碼。代碼位于附錄6在 STUDXINXIView.cpp 文件的前面添加 ClassInfoDlg 類(lèi)的包含語(yǔ)句#includeClassInfoDlg.h(五)查詢(xún)班級(jí)信息添加一個(gè)新的對(duì)話(huà)資源框,名字改為ID_SEEKCLASS 標(biāo)題定為“查詢(xún)班級(jí)信息”。按照下面的表格添加控件。布局如(圖 5.1所示)添加的控件ID號(hào)標(biāo)題其他屬性單選按鈕(按所

15、在院系)IDC_RADIO1默認(rèn)單選按鈕(按專(zhuān)業(yè))IDC_RADIO2默認(rèn)編輯框IDC_EDIT1默認(rèn)(圖 5.1)建立新類(lèi),為IDC_EDIT1 添加一個(gè) CString型變量 m_strSeek為CSeekClassDlg類(lèi)添力口消息映射,代碼位于附錄7為 CSeekClassDlg 類(lèi)添加 CString 型成員變量 m_strSQL用類(lèi)向?qū)镮DOK按鈕添加消息映射。代碼位于附錄8打開(kāi)菜單資源,添加菜單項(xiàng)如(圖5.2)所示。用類(lèi)向?qū)砑酉⒂成洹4a位于附錄9在 STUDXINXIView.cpp 文件的前面添加包含語(yǔ)句:#includeSeekClassDlg.h襦院(H)信息場(chǎng)人

16、信息查詞3(圖5.2)運(yùn)行,編譯。附錄:1m_strYear=4;/有關(guān)于消息映射UpdateData(FALSE);2UpdateData();m_strClassNO.TrimLeft();m_strDepart.TrimLeft();m_strSpecial.TrimLeft();if(m_strDepart.IsEmpty()MessageBox(必須要有所院系!); else if(m_strSpecial.IsEmpty()MessageBox(必須要有班級(jí)!);elseif(m_strClassNO.IsEmpty()MessageBox(必須要有班級(jí)號(hào)!); else3mems

17、et(&m_lfFont,0,sizeof(LOGFONT);m_lfFont.lfHeight=12;m_lfFont.lfCharSet=GB2312_CHARSET;strcpy(m_lfFont.lfFaceName,宋體); m_strClassNO=m_strSQL=;4CFont font;LOGFONT lf=m_lfFont;lf.lfWeight=700;strcpy(lf.lfFaceName,幼圓);font.CreateFontIndirect(&lf);TEXTMETRIC tm;pDC-GetTextMetrics(&tm);int nLineHeight=(in

18、t)(tm.tmHeight+tm.tmExternalLeading)*1.5);行高為1.5倍字符高度int x=0,y=0,nWidth;CFont*oldFont=pDC-SelectObject(&font);/ 使用新字體輸出表頭CString strHeader=班級(jí)號(hào),所在院系,專(zhuān)業(yè)名稱(chēng),學(xué)制,入學(xué)時(shí)間;int nStrWidth尸10,25,25,8,10;CClassInfoSet cSet;cSet.m_strFilter=strSQL;cSet.Open();for(UINT i=0;iTextOut(x,y,strHeaderi);x+=nWidth;pDC-Sele

19、ctObject(oldFont);顯示具體內(nèi)容CString str;while(!cSet.IsEOF()if(strClass=cSet.m_classno)/這是要強(qiáng)調(diào)顯示的班級(jí)lf.lfWeight=0;strcpy(lf.lfFaceName,楷體 _GB2312);font.DeleteObject();font.CreateFontIndirect(&lf); pDC-SelectObject(&font);elsepDC-SelectObject(oldFont); 使用原來(lái)的字體x=0;y+=nLineHeight;for(UINT i=0;iTextOut(x,y,str

20、);x+=nWidth; cSet.MoveNext();cSet.Close();設(shè)置視圖滾動(dòng)大小CSize sizeTotal;sizeTotal.cx=x+nWidth; sizeTotal.cy=y+nLineHeight;SetScrollSizes(MM_TEXT,sizeTotal);5CClassInfoDlg dlg;if(dlg.DoModal()!=IDOK) return;向classinfo表添加新的記錄,為了防止添加相同的記錄,這里先來(lái)判斷CClassInfoSet infoSet;ANDinfoSet.m_strFilter.Format(classno=%sde

21、part=%s,dlg.m_strClassNO,dlg.m_strDepart,dlg.m_strSpecial);infoSet.Open();if(!infoSet.IsEOF() MessageBox(dlg.m_strClassNO+”班級(jí)記錄已被添加過(guò)! );/if(infoSet.IsOpen() infoSet.Close();return;if(infoSet.IsOpen()infoSet.Close();CClassInfoSet addSet; if(addSet.Open() 添加一個(gè)新的記錄addSet.AddNew();addSet.m_classno=dlg.m_strClassNO;addSet.m_depart=dlg.m_strDepart;addSet.m_special=dlg.m_strSpecial;addSet.m_studyyear=(float)atof(dlg.m_strYear);addSet.m_entertime=dlg.m_tEnter;addSet.Update();addSet.R

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論