版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、VC+制作一個(gè)人事管理系統(tǒng)教職工管理系統(tǒng)關(guān)鍵詞:VC+應(yīng)用程序向?qū)?#160; 增加對話框資源 ADODC控件 DataGrid控件 對話框切換2.1 系統(tǒng)設(shè)計(jì)的目的和意義人事管理系統(tǒng)是公司或?qū)W?;蚱渌氖聵I(yè)單位用來統(tǒng)一管理人員的軟件,下面我就一學(xué)校的教職工管理系統(tǒng)為例。學(xué)校職工查詢是學(xué)校管理中需要經(jīng)常處理的一項(xiàng)工作,我的畢業(yè)設(shè)計(jì)結(jié)合一個(gè)簡化的學(xué)校教職工管理系統(tǒng)的制作,介紹如何利用VC+的應(yīng)用程序向?qū)е谱鲬?yīng)用程序。該系統(tǒng)的制作涉及一個(gè)數(shù)據(jù)庫、兩個(gè)數(shù)據(jù)表及其相關(guān)的對話框的制作開發(fā),涉及在工程中增加對話框、調(diào)用對話框的方法以及應(yīng)用程序向?qū)У氖褂梅椒āW钪匾氖牵?/p>
2、在我的畢業(yè)設(shè)計(jì)中,我將介紹一種新的數(shù)據(jù)源引用方法,即使用ADODC控件引用數(shù)據(jù)源并制作應(yīng)用系統(tǒng)的方法。我的畢業(yè)設(shè)計(jì)程序是簡單的,但方法是重要的。2.2 系統(tǒng)功能設(shè)計(jì)本系統(tǒng)具有般系統(tǒng)的數(shù)據(jù)處理功能,如數(shù)據(jù)錄入、增加、修改、刪除等。 2.3 數(shù)據(jù)庫與數(shù)據(jù)表的設(shè)計(jì)本系統(tǒng)將首先創(chuàng)建一個(gè)職工信息數(shù)據(jù)庫,并在它之中創(chuàng)建兩個(gè)數(shù)據(jù)表,一個(gè)是“職工信息數(shù)據(jù)表”,個(gè)是“職工工資信息表”。在我的畢業(yè)設(shè)計(jì)當(dāng)中,我僅用Microsoft Access 2003創(chuàng)建教職工管理數(shù)據(jù)庫及其數(shù)據(jù)表。 2.3.1 利用Microsoft Access 2003創(chuàng)建教職工管理數(shù)據(jù)庫及其數(shù)
3、據(jù)表微軟公司的許多產(chǎn)品所支持的數(shù)據(jù)庫結(jié)構(gòu)與數(shù)據(jù)庫驅(qū)動器類型均是通用的,因此,用戶往往可以借助于相關(guān)的工具創(chuàng)建數(shù)據(jù)庫與數(shù)據(jù)表,這里我介紹采用Microsoft Access 2003創(chuàng)建數(shù)據(jù)庫及其數(shù)據(jù)表的方法。先定義職工信息數(shù)據(jù)表的結(jié)構(gòu),如表2.1所示,它專門用于記錄教職工的基本情況。 表2.1 職工信息數(shù)據(jù)表的結(jié)構(gòu)字段名稱字段類型字段大小索引必須填寫職工編號數(shù)字長整型惟一、主索引是職工姓名文本20 是職工性別文本2 是所在部門文本30 是職工年齡數(shù)字整型 是工作時(shí)間日期/時(shí)間8 是職務(wù)文本20 是職稱文本20 是
4、簡歷備注默認(rèn) 是職工工資情況表的結(jié)構(gòu)定義如表2.2所示,注意,這是一個(gè)簡化了的職工工資數(shù)據(jù)表,因?yàn)楣べY表往往比較復(fù)雜,而且不同的單位工資表結(jié)構(gòu)也有所不同我不可能定義一個(gè)“萬能”的工資表結(jié)構(gòu),只能創(chuàng)建一個(gè)具有示范意義的工資數(shù)據(jù)表結(jié)構(gòu)。 表2.2 職工工資數(shù)據(jù)表的結(jié)構(gòu)字段名稱字段類型字段大小索引必須填寫職工編號數(shù)字長整型惟一、主索引是職工姓名文本20 是基本工資數(shù)字單精度型 是其他工資數(shù)字單精度型 是月收入數(shù)字單精度型 是2.3.2 數(shù)據(jù)庫與數(shù)據(jù)表的創(chuàng)建過程 利用Microso
5、ft Access創(chuàng)建數(shù)據(jù)序及具數(shù)據(jù)表的步驟如下:(1)啟動Microsoft Office 2003中的Microsoft Access應(yīng)用程序,出現(xiàn)如圖2.1所示對話框。圖2.1 新建數(shù)據(jù)庫 (2)選擇創(chuàng)建一個(gè)空數(shù)據(jù)庫。(3)單擊“確定”按鈕之后出現(xiàn)保存對話框,確定保存數(shù)據(jù)庫的文件位置和數(shù)據(jù)庫名稱即可,本例中數(shù)據(jù)庫名稱為“職工管理數(shù)據(jù)庫”;隨后出現(xiàn)圖2.2所示界面。圖2.2 數(shù)據(jù)庫中的數(shù)據(jù)表操作界面 在數(shù)據(jù)表操作界面小,用戶可以打開已經(jīng)存在的數(shù)據(jù)表,也可以創(chuàng)建新的數(shù)據(jù)表。(4)單擊“設(shè)計(jì)”菜單項(xiàng)即可以設(shè)汁一個(gè)斯的數(shù)據(jù)表結(jié)構(gòu);設(shè)計(jì)一個(gè)新的數(shù)據(jù)表結(jié)構(gòu)
6、就是通過數(shù)據(jù)表的設(shè)計(jì)器設(shè)計(jì)一個(gè)表的字段名稱、宇段類型、字段大小、小數(shù)位數(shù)以及索引字段等等。圖2.3所示是職工信息數(shù)據(jù)表結(jié)構(gòu)的設(shè)計(jì)器,采用同樣的方法,可以創(chuàng)建職工工資數(shù)據(jù)表。兩個(gè)數(shù)據(jù)表結(jié)構(gòu)一經(jīng)創(chuàng)建,用戶可以打開該數(shù)據(jù)表,在數(shù)據(jù)表中輸入一些基本數(shù)據(jù),以便在后面的系統(tǒng)設(shè)計(jì)中體現(xiàn)設(shè)計(jì)的效果。創(chuàng)建的數(shù)據(jù)庫保存在“D:張超的畢業(yè)設(shè)計(jì) 職工管理數(shù)據(jù)庫”中。2.4 創(chuàng)建職工管理系統(tǒng)應(yīng)用程序框架在VC+中創(chuàng)建應(yīng)用程序往往可以通過向?qū)紫葎?chuàng)建一個(gè)應(yīng)用程序的框架,應(yīng)用程序框架為期戶提供了一個(gè)基本的開發(fā)過程。在這里,首先介紹制作“職工管理系統(tǒng)”程序的基本框架的過程和方法,其過程如下:(1)啟動VC+程序,
7、出現(xiàn)VC+開發(fā)平臺。(2)在VC+主菜單中單擊“文件新建”菜單項(xiàng),出現(xiàn)工程類型選擇列表。(3)在“工程”類型選擇列表中選擇工程類型為“MFC AppWizard (exe)”。(4)在“工程”編輯框中鍵入“教職工管理系統(tǒng)”。(5)在“位置”列表拒中選樣存放的位置,此處設(shè)置為“D:VC+我的畢業(yè)設(shè)計(jì)”。(6)選擇“R創(chuàng)建新工作區(qū)”并選擇適合于Windows操作系統(tǒng)的Win32平臺,如圖2.4所示。圖2.4 工程創(chuàng)建的基本配置(7)單擊“確定”按鈕,出現(xiàn)圖2.5所示對話框,該對話框用于進(jìn)行應(yīng)用程序類型設(shè)置。圖2.5 應(yīng)用程序類型設(shè)置(8)選擇“基本對話框”,并設(shè)置在資源中使
8、用的語言為“中文中國”。(9)單擊“下一步”按鈕,出現(xiàn)另一個(gè)設(shè)置對話框,即工程特色設(shè)置對話框,如圖2.6所示。圖2.6 工程特色設(shè)置 在工程特色設(shè)置對話框中作三項(xiàng)內(nèi)容選擇,即:A關(guān)于框符、3D控制、ActiveX控件,并輸入標(biāo)題對話為“教職工管理系統(tǒng)”主界面。(10)單擊“完成”按鈕,出現(xiàn)應(yīng)用程序設(shè)置的全部信息:Application type of 教職工管理系統(tǒng): /工程類型 Dialog-Based Application target
9、ing: /基本對話框 Win32 /適合于Windows平臺Classes to be created: &
10、#160; /創(chuàng)建類 Application: CMyApp in 教職工管理系統(tǒng).h and 教職工管理系統(tǒng).cpp Dialog: CMyDlg in教職工管理系統(tǒng)Dlg.h and 教職工管理系統(tǒng).cppFeatures:
11、 /特色信息+ About box on system menu /創(chuàng)建了About對話框+ 3D Controls
12、160; /支持3D控件+ Uses shared DLL implementation (MFC42. DLL) /使用動態(tài)鏈接庫+ ActiveX Controls support enabled /支持ActiveX控件+ Localizable
13、 text in: /工程定位 中文中國
14、0; /資源使用語言(11)單擊“確定”按鈕完成應(yīng)用程序框架的創(chuàng)建,出現(xiàn)應(yīng)用系統(tǒng)框架,如圖2.7所示。圖2.7 應(yīng)用程序框架顯示 在應(yīng)用系統(tǒng)程序框架中列出了全部的資源文件,用戶可以進(jìn)行資源顯示,并可以顯示由向?qū)ё詣觿?chuàng)建的各種類文檔,這與第一個(gè)我的畢業(yè)設(shè)計(jì)所創(chuàng)建的應(yīng)用程序框架的內(nèi)容大體一致。2.5 基本框架的修改應(yīng)用程序生成向?qū)荒苌梢粋€(gè)應(yīng)用程序的架構(gòu),它不能執(zhí)行任何的事務(wù)和系統(tǒng)的功能,需要用戶權(quán)據(jù)自己的需求送行具體的制作,因此我首先對應(yīng)用程序的基本
15、框架進(jìn)行修改。2.5.1 主界面的修改在采用申文檔應(yīng)用程序類型創(chuàng)建應(yīng)用系統(tǒng)時(shí),往往向?qū)?chuàng)建的應(yīng)用程序框架中的第一個(gè)對話柜就是該應(yīng)用系統(tǒng)的主控界面。主界面可以說是一個(gè)應(yīng)用程序的核心,通過主界面可以調(diào)用其他界面。用戶可以在主界面中創(chuàng)建主菜單、快捷鍵面板或快捷菜中等,也可以增加命令按鈕,用以對其他界面進(jìn)行調(diào)用。如果是一個(gè)簡單的應(yīng)用系統(tǒng)也可以直接將主界面作為數(shù)據(jù)管理的界面,直接在主界面中進(jìn)行控件布局、創(chuàng)建數(shù)據(jù)源并進(jìn)行數(shù)據(jù)訪問控件與數(shù)據(jù)源之間的“數(shù)據(jù)綁定”。在我的畢業(yè)設(shè)計(jì)中,先對主界面,即對話框作如下修改:(1)刪除主界面中的“確定”按鈕。(2)刪除主界面中的“取消”按鈕。(3)刪除主界面中
16、的“TODO:在這里設(shè)置對話控制?!膘o態(tài)文本框控件。(4)在界面中放入一個(gè)命令控鉗控件BUTTON1。(5)用鼠標(biāo)右鍵單擊命令按鈕控件BUTTON1,出現(xiàn)個(gè)快捷菜單。(6)在快捷菜單個(gè)選擇“屬性”菜單項(xiàng),出現(xiàn)該按鈕的屬性設(shè)肯對話框。(7)將命令按鈕BUTTON1的資源索引號ID修改為“IDC_EXIT_BUTTON”。(8)將命令按鈕BUTTON1的標(biāo)題屬性設(shè)置為“退出系統(tǒng)”。(9)設(shè)置它的StyIe屬性為“坦平”。其屬性設(shè)置對話框如圖2.8所示。圖2.8 按鈕屬性設(shè)置(10)關(guān)閉屬性設(shè)置對話框,回到程序的主界面。(11)編譯運(yùn)行工程,并單擊該按鈕,你會發(fā)現(xiàn),它不會執(zhí)行任何操作,因
17、為我并末對其編制任何的過程代碼。2.5.2 為“退出系統(tǒng)”按鈕創(chuàng)建類并增加成員變量在VC+應(yīng)用程序中,資源是按類和成員變量進(jìn)行識別的,因此我需要為資源中的每一個(gè)對象創(chuàng)建或聲明一個(gè)類和相應(yīng)的成員變量。內(nèi)于此處該按鈕是對話柜中的一個(gè)控件,也就是它的一個(gè)成員,因此它是對話柜類中的一個(gè)控件對象,不用再為它創(chuàng)建一個(gè)新類(從圖2.9可以看出,它是對話框CMyDIg類中的一個(gè)控件,其控件索引號為;IDC_EXIT_BUTION),我只為它創(chuàng)建一個(gè)成員變量即可,其過程如下:(1)用鼠標(biāo)右鍵單擊“退出系統(tǒng)”按鈕,出現(xiàn)一個(gè)快捷菜單。(2)在快捷菜單中單擊“建方類向?qū)А辈藛雾?xiàng),出現(xiàn)用于創(chuàng)建類的對話柜,如
18、圖2.9所示。圖2.9 創(chuàng)建類 在該對話框中,可以對新的對象創(chuàng)建一個(gè)新的類并定義一個(gè)成員變量,但此處,我僅將“退出系統(tǒng)”按鈕作為對活框的一個(gè)成員,因此,只需要為它定義一個(gè)成員變量即可。(3)申擊Add VariabIe按鈕,出現(xiàn)成員變量創(chuàng)建對話柜,如圖2.10所示。圖2.10 成員變量定義 在為個(gè)對象引入成員變量時(shí),首先應(yīng)該為它定義一個(gè)成員變量名稱,然而設(shè)置成員變只所屬的類(Category),分為兩種:一是控件(Control)類,第二類為值類,即Value類,在列表中系統(tǒng)將會根據(jù)對象的類型而自動列出一個(gè)供參考選擇的列表內(nèi)容,此處選樣Control。另外,還
19、而要設(shè)置變量的類型 (VariabIetype),系統(tǒng)也會根據(jù)對象的類型在列表框中列出相應(yīng)的值,此處選擇CButton。(4)單擊OK按鈕即完成命令按鈕的成負(fù)變量設(shè)置,隨后它會顯示在對話框類的成員變量信息列表中,如圖2.11所示。圖2.11 對話框類中的成員變量信息 在一個(gè)類中有多少個(gè)成員,它便顯示多少個(gè)成員變量的信息此處,目前只有一個(gè)成員在對話框中,因此只有一條信息。值得注意的是,成員變量可以刪除,也可以修改并重新進(jìn)行定義,使成員變量必須是無二義性的,即在一個(gè)應(yīng)用系統(tǒng)中,一個(gè)成員的變量是惟一的,不能出現(xiàn)兩個(gè)成員定義同一成員變量的現(xiàn)象,否則會出現(xiàn)錯(cuò)誤信息。2.5.3
20、60; 為“退出系統(tǒng)”按鈕編制事件的過程代碼“退出系統(tǒng)”技鈕的作用就是結(jié)束應(yīng)用程序的執(zhí)行,關(guān)閉應(yīng)用程序主窗體(對話框),因此我需要給它制作相應(yīng)的過程代碼,其操作步驟如下:(1)將圖2.11的選項(xiàng)卡面圖切換到消息映肘(Message Maps)近項(xiàng)卡,選擇對象索引號ID為IDC_EXIT_BUTTON的項(xiàng)。(2)在選項(xiàng)卡中選擇單擊事件BN_CLICKED信息(注意,作為一個(gè)命令按鈕,執(zhí)行事務(wù)的方式有單擊和雙擊兩種方式,此處選擇單擊方式,即BN_CLICKED)。(3)單擊Add Functlon按鈕增加該對象的成員函數(shù),出現(xiàn)成員函數(shù)名定義,如圖2.12所示。圖2.12 成員函數(shù)名定義
21、(4)直接接受系統(tǒng)建議的成員函數(shù)名即可。(5)單擊OK按鈕,完成成員函數(shù)的增加。(6)單擊Edit Code按鈕,進(jìn)入命令按鈕的事件過程代碼編輯需要的過程代碼即可,“退出系統(tǒng)”命令拉鈕的過程代碼如下所示:void CMyDlg : : OnExitButton () / / 開始編制過程TODO: Add your control notification handler code here OnOK(); / / 結(jié)束代碼編制該代碼的編輯實(shí)際上是在對話框的過程代碼文件中的一個(gè)“代碼體”
22、中進(jìn)行編輯,在VC+中,一個(gè)事務(wù)的過程編制往往以一個(gè)“代碼體”來進(jìn)行,它以void為過程標(biāo)識與聲明,該標(biāo)識說明了對象所在的類和對象的函數(shù)名稱CMyDlg:OnExitButton()。代碼體以表示。注意,在為VC+程序中的成員編制過程代碼時(shí),如果用到VC+的內(nèi)部函數(shù),則對于代碼符號是有嚴(yán)格要求的,內(nèi)部函數(shù)的函數(shù)名不僅需要區(qū)分大小寫,而且還必須在英文狀態(tài)下編寫,否則在系統(tǒng)編譯時(shí),函數(shù)名不會被識別,將出現(xiàn)編譯錯(cuò)誤編制事件的過程代碼之后,可以編譯運(yùn)行工程并檢驗(yàn)按鈕的功能,它將按設(shè)計(jì)過程完成結(jié)束程序的事務(wù),即關(guān)閉對話框。2.6 為工程增加兩個(gè)對話框資源在前面的過程中,我已經(jīng)通過向?qū)閼?yīng)用程
23、序生成了一個(gè)應(yīng)用程序框架,并生成了一個(gè)系統(tǒng)主控界面對話框IDD_MY_DIALOG和一個(gè)IDD_ABOUTBOX對話框成員,但這兩個(gè)對話框還不能滿足我工程設(shè)計(jì)的需要,在應(yīng)用系統(tǒng)中我至少需要處理兩個(gè)數(shù)據(jù)表的數(shù)據(jù),即教職工基本情況數(shù)據(jù)和教職工工資情況的數(shù)據(jù),因此我需要在工程中增加兩個(gè)對話框資源。2.6.1 增加對話框資源 (1)單擊VC+主菜單中的“插入 | 資源”菜單項(xiàng),出現(xiàn)一個(gè)資源類型選擇對話框,如圖2.13所示。圖2.13 資源類型選擇對話框(2)在資源類型選擇對話框中,選擇對話框資源Dialog。(3)單擊“新建”按鈕,則在工程少增加了一個(gè)對話框資源。它的資源索引號
24、ID自動設(shè)置為:IDD_DIALOG1。(4)用相同的方法可以為工程增加另一個(gè)對話樞資源IDD_DIALOG2。2.6.2 為兩個(gè)新的對話框資源創(chuàng)建新類(1)在工程的資源管理器中,將頁面切換到資源選項(xiàng)卡并雙擊IDD_D1ALOG1,出現(xiàn)IDD_DIALOG1對話框。(2)用鼠標(biāo)右鍵單擊它的空白處,出現(xiàn)一個(gè)快捷菜單。(3)在快艇菜單小單東“建立類向?qū)А辈藛雾?xiàng),出現(xiàn)圖2.14所示對話框。圖2.14 類創(chuàng)建的信息提示對話框(4)選擇Create a new class單選選項(xiàng),即選擇創(chuàng)建一個(gè)新類。(5)單擊OK按鈕,出現(xiàn)類名設(shè)冒對話框,在類名設(shè)置對話框中設(shè)置該對話框的類名稱為
25、CMyDlg1,并作如下選擇:File Name: MyDlg1.cpp /類文件名Base Class: Cdialog /所屬基類Dialog ID: IDD_DI
26、ALOG1 /資源索引號Automation: None /處理自動化其選擇如圖2.15所示。(6)單擊OK按鈕結(jié)束類的創(chuàng)建。這樣我就為新增加的對話框資源DIALOG1創(chuàng)建了一個(gè)新的類,其類名為CMyDlg1。用同樣
27、的方法為對話柜資源IDD_DIALOG2創(chuàng)建一個(gè)新類:CMyDlg2,這樣在工程中就增加了兩個(gè)新的類。如果在新的資源即對話框中放入別的控件,則新的控件成為這類的一個(gè)成員,這就是說,成員與類有區(qū)別,同時(shí)又有聯(lián)系,成員從屬于一個(gè)類資源,但往往資源是獨(dú)立的一個(gè)“單元”。圖2.15 類創(chuàng)建設(shè)置2.6.3 為兩個(gè)新類加以聲明(1)在資源管理器中選擇叫FileView選項(xiàng)卡,如圖2.16所示。圖2.16 文件查看選項(xiàng)卡 (2)雙擊“教職工管理系統(tǒng)Dlg.cpp”,即出現(xiàn)該文件的開始部分,該部分用來對工程中的類進(jìn)行聲明,增加新的聲明,如下所示:/教職工管理系統(tǒng)D
28、lg. cpp : implementation file在這一個(gè)文件的開始部分聲明兩個(gè)對話框資源的頭文件,其代碼如下:/教職工管理系統(tǒng).cpp: Defines the class behaviors for the application./#include "stdafx.h"#include "教職工管理系統(tǒng).h"#include "教職工管理系統(tǒng)Dlg.h" /開始聲明#include "MyDlg1.h"#include "MyDlg2.h" /結(jié)束聲明
29、;#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEStatic har THIS_FILE = _FILE_;#endif 這樣,在教職工管理系統(tǒng)Dlg.cpp中聲明了兩個(gè)新的類的頭文件。通過聲明程序,可以在以后對新的類的引用加以識別。如果不加以聲明,將會出現(xiàn)不明身份的對象的信息提示。2.7 為工程的主控界面設(shè)計(jì)一個(gè)菜單在工程中我有了一個(gè)主窗體劉話框和兩個(gè)新增加的對話框資源,主對話框資源可以在系統(tǒng)啟動時(shí)運(yùn)行,但其他的對話框如何在工程中加以顯示?這就需要借助于菜單或命令按鈕。這里,我首先為主對話框創(chuàng)建一個(gè)菜單,與對話框一樣
30、,菜單也可以作為一種資源被加入到工程中,并為用戶加以運(yùn)用。2.7.1 菜單資源的加入與菜單設(shè)計(jì)在工程中加入一個(gè)菜單資源的操作過程如下:(1)在VC+主菜單中單擊“插入 | 資源”菜單項(xiàng),出現(xiàn)一個(gè)資源類型選擇對話框。(2)在資源類型選擇對話框中選擇菜單(MENU)資源類型,并單擊“新建”按鈕,即可在工程中增加一個(gè)菜單資源。它出現(xiàn)在工程的資源選項(xiàng)卡中。接下來就需要用戶設(shè)計(jì)菜單項(xiàng),其菜單項(xiàng)如表2.3所示表2.3 菜單對象的基本屬性對象名稱ID標(biāo)題內(nèi)容主菜單條目無職工基本信息子菜單條目ID_DATA_MENU信息處理主菜單條目無職工工資管理子菜單條目ID_SALARY_MENU
31、工資處理與瀏覽主菜單條目無關(guān)于子菜單條目IDS_ABOUTBOX關(guān)于職工管理系統(tǒng) 菜單設(shè)置如圖2.17所示。圖2.17 菜單 注意,在資源的運(yùn)用中,菜單資源比較特殊,由于菜單資源是用VC+的菜單設(shè)計(jì)器進(jìn)行制作的,因此它往往不需要像其他資源那樣創(chuàng)建新的類和進(jìn)行聲明。2.7.2 將菜單與主對話框連接(1)在工程資源管理器中選樣資源選項(xiàng)卡。(2)雙擊主對話框資源IDD_MY_DIALOG,出現(xiàn)主對話框。(3)用鼠標(biāo)右鍵單擊主對話框控件,出現(xiàn)一個(gè)快捷菜單,在快捷菜單中單擊屬性菜單項(xiàng),出現(xiàn)屬性設(shè)置對話框。(4)在屬性設(shè)置對話框中選擇菜單資源,選擇目前創(chuàng)建的惟一
32、的菜單資源即可(如果有多個(gè)菜單資源存在,則可在其中選擇一個(gè)菜單,和對話框進(jìn)行連接),如圖2.18所示。圖2.18 對話框?qū)傩栽O(shè)置 (5)關(guān)閉對話框并運(yùn)行工程,可以發(fā)現(xiàn)主對話框已經(jīng)成功地與菜單進(jìn)行了連接,其效果如圖2.19所示。圖2.19 菜單與對話框連接的效果 在工程中,創(chuàng)建程序框架時(shí)已經(jīng)生成了一個(gè)About對話框,但它并未與菜單進(jìn)行連接,其類也內(nèi)系統(tǒng)自動創(chuàng)建,并不符合用戶的需要,我需要將它刪除并創(chuàng)建用戶自己的About對話框。因此在進(jìn)行下一節(jié)的內(nèi)容之前,我先作如下操作:(1)在工程資源管理器中將原先創(chuàng)建的About對話框刪除,再插入一個(gè)新的對話框資
33、源,作為用戶自創(chuàng)建的About對話框。設(shè)置它的資源索引號為IDD_ABOUT_DIALOG,對話框標(biāo)題屬性為“關(guān)于系統(tǒng)”。(2)為新的對話框創(chuàng)建類,其類名為:CmyAboutDlg。(3)同樣需要在工程的“教職工管理系統(tǒng)Dlg.cpp”文件中聲明新的About對話框,其聲明如下所示:/教職工管理系統(tǒng)Dlg.cpp : implementation file/# include “stdafx.h”# include “教職工管理系統(tǒng).h”# include “教職工管理系統(tǒng)Dlg.h” # include “MyDlg1.h”
34、; / /聲明的對話框1# include “MyDlg2.h” / /聲明的對話框2# include “MyAboutDlg.h” / /聲有的About對話框 # ifdef _DEBUG# define new DEBUG
35、_NEW# undef THIS_FILEstatic char THIS_FILE = _FILE_;# endif(4)重新設(shè)計(jì)About對話框,其過程如下:(5)放入兩個(gè)靜態(tài)文本控件,其標(biāo)題分別為:“職工管理系統(tǒng)簡化版”利“COPY RIGHT 2002”。(6)放入一個(gè)映像控件,設(shè)置它的標(biāo)題屬性和圖形文件即可. 教職工管理系統(tǒng)所需要的對話框均已經(jīng)準(zhǔn)備完畢,現(xiàn)在行在兩個(gè)問題,一是如何用菜單去調(diào)用每個(gè)對話框,二是如何在對話框中設(shè)計(jì)系統(tǒng)功能,即進(jìn)行數(shù)據(jù)處理,這是我的畢業(yè)設(shè)計(jì)所需要的主要內(nèi)容2.7.3 用菜單調(diào)用對話框菜單是與主對話框連接的,它在主對話框中進(jìn)行顯示。在向?qū)?/p>
36、創(chuàng)建的所有對話框中,除主對話框自動顯示之外,其他對話框均需要用戶編制過程代碼進(jìn)行調(diào)用。如何對對話框進(jìn)行調(diào)用?我以調(diào)用IDD_DIALOGl為例加以說明。根據(jù)定義,該對話框是通過菜單ID_DATA MENU條目進(jìn)行調(diào)用的,即調(diào)用該對話框進(jìn)行職工基本信息處理。因此我為該菜單編制過程代碼,其操作過程如下:(1)在工程的視圖管理選項(xiàng)卡中雙擊菜單資源文檔“IDR_MENU1”,出現(xiàn)菜單編輯器。(2)在菜單編輯器中選擇“職工基本信息 | 信息處理”,并用鼠標(biāo)右鍵單擊,出現(xiàn)圖2.21所示的快捷菜單。 圖2.21 快捷菜單菜單作為上對話柜中的成員,通過它可以調(diào)用其他對話柜,雖然不需要為它
37、創(chuàng)建新的類,但仍然需要為菜單的每一個(gè)條目定義函數(shù)和創(chuàng)建過程。(3)單擊“建立類向?qū)А?,出現(xiàn)圖2.22所示類創(chuàng)建對話框。圖2.22 菜單類創(chuàng)建對話框(4)選擇菜單的過程信息映射“CoMmand”。(5)單擊Add Function按鈕為菜單增加一個(gè)函數(shù),出現(xiàn)個(gè)增加菜單成員函數(shù)的對話框,如圖2.23所示。圖2.23 創(chuàng)建菜單的成員函數(shù) (6)直接接受系統(tǒng)建議的菜單成員函數(shù)名“OnDataMenu”。(7)單擊OK按鈕完成成員函數(shù)名定義過程。(8)單擊Edit Code按鈕,出現(xiàn)菜單代碼過程體:在代碼過程體光標(biāo)停留處編輯代碼,如下所示:void CMyDlg : :
38、 OnDataMenu () /TODO : Add your command handler code here 開始編輯代碼 CMyDlg1 MyDlg1; / /主對話框
39、160; MyDlg1. DoModal (); / /顯示調(diào)用對話框1 /結(jié)束代碼編輯這樣就完成了用菜單調(diào)用對話框1的過程代碼的編制,編譯運(yùn)行工程即可檢驗(yàn)該菜單的執(zhí)行功能,效果如圖2.24所示。圖2.24 菜單調(diào)用
40、的對話框通過檢驗(yàn)可以發(fā)現(xiàn),對對話框的調(diào)用是可行的。用同樣的方法,主菜單中的相關(guān)菜單項(xiàng)可以實(shí)現(xiàn)對話框2和About對話框的調(diào)用,其過程留給讀者去完成。2.8 制作職工基本信息處理對話框在以上的過程中,我制作了四個(gè)對話框:一個(gè)主對話框,它與主菜單資源進(jìn)行連接;一個(gè)對話框IDD_DIALOG1,它用于處理職工基本信息;一個(gè)對話框IDD_DIALOG2,它用于處理職工工資信息;另外我制作了一個(gè)About對話框,它用于顯示系統(tǒng)的版本信息。但是對于對話框IDD_DIALOG1和對話框IDD_DIALOG2,除能通過菜單調(diào)用該對話框之外,對話征幾乎還不能作任何工作,也就是他還不具備功能。我首先實(shí)
41、現(xiàn)對話柜IDD_DIALOGl的功能,即進(jìn)行職工基本信息處理的功能。為此作如下操作:(1)在工程的資源管理器中選擇資源選項(xiàng)卡,并雙擊“IDD_DIALOG1”對話框資源,在工作區(qū)中出現(xiàn)IDD_DIALOGl對話框。(2)將對話框IDD_DIALOGl的OK按鈕刪除。(3)將對話框IDD_DIALOGl中的Cancel按鈕刪除。(4)在對話框中放入一個(gè)ADO Data控件(該控件簡稱為ADODC);注意,ADO Data 控件不是對話框控件的基本控件,它不在對話框控件的列表中,它屬于ActiveX類控件,需要通過插入的方法將其放入到對話框中。(5)在對話框IDD_DIALOGl的空白處單擊鼠標(biāo)右
42、鍵,出現(xiàn)一個(gè)快捷菜單。(6)在快捷菜單中單擊“Insert ActiveX Control”菜單項(xiàng),即插入一個(gè)AtiveX控件;在控件列表中選擇數(shù)據(jù)表格控件,如圖2.25所示。圖2.25 ADODC控件選擇(7)在ActiveX控件列表中選擇“Microsoft ADO Data Control, version 60”選項(xiàng)。(8)單擊“確定”按鉗,即將一個(gè)ADODC控件放入到對話框中。(9)用鼠標(biāo)右擊ADODC控件,出現(xiàn)一個(gè)快捷菜單。(10)在快捷菜單中單擊“屬性”菜單項(xiàng),出現(xiàn)控件屬性設(shè)計(jì)器,如圖2.26所示。圖2.26 ADODC控件屬性設(shè)計(jì)器(11)設(shè)置ADODC
43、控件的基本屬性,如表2.4所示。 表2.4 ADODC控件的基本屬性屬性屬性內(nèi)容IDIDC_ADODC1顯示YES標(biāo)題數(shù)據(jù)瀏覽ConnectionStringDSN=教職工管理數(shù)據(jù)庫RecordSource職工信息數(shù)據(jù)表 (12)在圖2.26中將選項(xiàng)卡頁面切換到Control頁面:在該頁面中選擇Use ODBC Data Source Name選項(xiàng),如圖2.27所示。圖2.27 數(shù)據(jù)控件設(shè)置 (13)單擊New按鈕,出現(xiàn)一個(gè)數(shù)據(jù)源類型的選擇對話框,如圖2.28所示。圖2.28 數(shù)據(jù)源類型選擇 (14)在數(shù)據(jù)源類型的選擇對話框中,
44、選擇“用戶數(shù)據(jù)源”,出現(xiàn)圖2.29所示的驅(qū)動程序選擇對話框。圖2.29 數(shù)據(jù)源驅(qū)動程序選擇 (15)由于我采用Microsoft Access 2003創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表,因此我相應(yīng)地選擇Microsoft Access Driver驅(qū)動程序。(16)單擊“下一步”按鈕,出現(xiàn)一個(gè)數(shù)據(jù)源設(shè)置完成的信息提示對話框。(17)單擊“完成”按鈕,即出現(xiàn)確定數(shù)據(jù)源位置和為數(shù)據(jù)源命名的對話框,如圖2.30所示。 圖2.30 數(shù)據(jù)源命名和位置確定 (18)在圖2.30中為數(shù)據(jù)源命名并確定位置后,單擊“確定”按鈕,即完成數(shù)據(jù)源設(shè)置:此時(shí)可以發(fā)現(xiàn),在Use ODBC D
45、ataSource Name數(shù)據(jù)源列表框中已經(jīng)存在了新創(chuàng)建的數(shù)據(jù)源,即“教職工管理數(shù)據(jù)庫”,如圖2.31所示。圖2.31 新創(chuàng)建的數(shù)據(jù)源顯示 數(shù)據(jù)源創(chuàng)建的本質(zhì)就是為應(yīng)用系統(tǒng)引入一個(gè)數(shù)據(jù)庫文件,但一個(gè)數(shù)據(jù)庫中往往存在多個(gè)數(shù)據(jù)表,因此需要為對話框選擇一個(gè)記錄源。(19)將圖2.31中的選項(xiàng)卡頁面切換到“RecordSource”選項(xiàng)卡,在記錄源選項(xiàng)卡的數(shù)據(jù)命令類型列表中選擇“表”方式,如圖2.32所示。圖2.32 命令類型列表(20)然后在下方的“表”文件列表中選擇“職工信息數(shù)據(jù)表”即可。這樣即完成了為對話框創(chuàng)建一個(gè)數(shù)據(jù)環(huán)境的過程。數(shù)據(jù)源或數(shù)據(jù)環(huán)境的創(chuàng)建僅為對話框
46、設(shè)置了個(gè)可用的數(shù)據(jù)環(huán)境,但如何在對話框中處理數(shù)據(jù)環(huán)境中的數(shù)據(jù),是對話框制作中的又一關(guān)鍵問題。這里,我為對話框引入一個(gè)專門用于數(shù)據(jù)操作和數(shù)據(jù)編輯的控件,即數(shù)據(jù)表格控件。為此作如下操作;(1)在對話框IDD_DIALOGl中放入一個(gè)數(shù)據(jù)表格控件IDC_DATAGRIDl。數(shù)據(jù)表格控件也不是對話框的基本控件,它仍需要采用插入的方法加以進(jìn)行。(2)在對話框的空白處單擊鼠標(biāo)右鍵,出現(xiàn)一個(gè)快捷菜單。(3)在快捷菜單中單擊“Insert ActiveX Control”菜單項(xiàng),即插入一個(gè)ActiveX控件;在控件列表中選擇數(shù)據(jù)表格控件,如圖2.33所示。圖2.33 微軟數(shù)據(jù)表控件選擇
47、(4)單擊“確定”按鈕,即在對話框中個(gè)插入一個(gè)“Microsoft DtaGird Control, Version 6.0”表格控件,它是以表格的方式對數(shù)據(jù)源中的數(shù)據(jù)表進(jìn)行數(shù)據(jù)處理的控件:(5)設(shè)置表格控件的屬性,如表2.5所示。 表2.5 DataGrid控件的基本屬性屬性屬性內(nèi)容ID IDC_DATAGRID1顯示YES標(biāo)題請輸入或修改職工數(shù)據(jù)記錄DataSourceIDC_ADODC1AllowAddNewTrueAllowArrowsTrueAllowDeleteTrueAllowUpdateTrue同樣,表格屬性也有許多其他屬性,用戶可以根據(jù)不同的系統(tǒng)開發(fā)的
48、需要,設(shè)置不同的屬性,其中表格的初始狀態(tài)是不允許修改、刪除和刷新記錄的,因此需要設(shè)置它的AllowAddNew、AllowDelete和AllowUpdate屬性為True。這樣在工程的運(yùn)行期就可以通過表格控件對數(shù)據(jù)表中的記錄進(jìn)行編輯、修改和添加。(6)在表格控件的數(shù)據(jù)源屬性項(xiàng)中,單擊“DataSource”右邊的開關(guān)按鈕,出現(xiàn)一個(gè)綁定數(shù)據(jù)源列表,選擇相應(yīng)的數(shù)據(jù)源即可,如圖2.34所示。圖2.34 數(shù)據(jù)源綁定屬性設(shè)置最后,編譯執(zhí)行工程,并顯示職工基本信息對話框,可以在表格控件中對數(shù)據(jù)進(jìn)行編輯、修改和用ADODC控件進(jìn)行瀏覽查詢,如圖2.35所示??梢钥闯觯业漠厴I(yè)設(shè)計(jì)中用ADODC
49、控件創(chuàng)建了數(shù)據(jù)源,它與前個(gè)我的畢業(yè)設(shè)計(jì)中,在Microsoft Windows 98/2000中使用ODBC程序創(chuàng)建數(shù)據(jù)源的基本作用是一致的,但在Microsoft Windows 98/2000中使用ODBC程序需要依賴控制面板,而且數(shù)據(jù)源的命令方法無法加以選擇。采用ADODC控件創(chuàng)建數(shù)據(jù)源是目前廣泛使用的一種方法,它可以直接在項(xiàng)目設(shè)計(jì)期進(jìn)行,只有直觀可視的特點(diǎn),最關(guān)鉸的是它將應(yīng)用程序的開發(fā)徹底“對象化”了。圖2.35 職工信息處理運(yùn)行效果2.9 制作職工工資處理對話框前面我制作了職工基本信息處理對話框,這里,我將制作職工工資處理對話框。它們的制作過程和操作方法基本一
50、致,為保持每一個(gè)我的畢業(yè)設(shè)計(jì)對一個(gè)或兩個(gè)加以點(diǎn)到述的一致性,我仍采用ADODC控件引入數(shù)據(jù)源,并用數(shù)據(jù)表格進(jìn)行數(shù)據(jù)處理。(1)在項(xiàng)目的視圖管理器中選擇對話框IDD_DIALOG2。(2)將對話框的標(biāo)題屬性設(shè)置為“職工工資處理”。(3)將對話框2中的的Cancel按鈕刪除。(4)將對話框2個(gè)的OK按鈕的標(biāo)題屬性修改為“返回”。(5)在對話框中放入一個(gè)ADODC控件,其基本屬性設(shè)置如表2.6所示。表2.6 ADODC控件的基本屬性屬性屬性內(nèi)容IDIDC_ADODC1顯示YES標(biāo)題數(shù)據(jù)瀏覽ConnectionStringDSN=教職工管理數(shù)據(jù)庫RecordSource職工工資數(shù)據(jù)表(6)
51、在對話框中放入一個(gè)數(shù)據(jù)表格控件IDC_DATAGRID1。(7)設(shè)置表格控件的基本屬性,如表2.7所示。 表2.7 DataGrid控件的基本屬性屬性屬性內(nèi)容IDIDC_DATAGRID1顯示YES標(biāo)題請對職工工資數(shù)據(jù)進(jìn)行增加、修改!DataSourceIDC_ADODC1AllowAddNewTrueAllowArrowsTrueAllowDeleteTrueAllowUpdateTrue(8)檢驗(yàn)對話框運(yùn)行效果,如圖2.36所示。圖2.36 職工工資處理對話框運(yùn)行效果2.10 對話框間的相互切換在以上的制作過程中,對話框均是通過主菜單進(jìn)行的,但
52、能否直接在對話框之間相互切換呢?如直接從“職工基本信息處理”對話框切換到“職工工資處理”對話框,或從“職工工資處理”對話框切換到“職工基本信息處理”對話框。這里我就將專門介紹這一問題的解決方法。2.10.1 從“職工基本信息處理”對話框切換到“職工工資處理”對話框(1)在工程的資源管理器中選擇MyDlg1.cpp文件。(2)雙擊MyDlg1.cpp文件,出現(xiàn)它的編輯器和文件內(nèi)容;在文件的開頭處聲明對話框2,其聲明如下所示:/MyDlg1.cpp : implementation file # include “stdafx.h”# include “教職工管理系統(tǒng).h”# include “Mydlg1.h” /開始聲明# include “MyDlg2.h”結(jié)束聲明/# ifdef_DEBUG# define new DEBUG_NEW# undef THIS_FILEstatic char THIS_FILE =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024消防工程消防安全檢查與隱患整改合同3篇
- 葡萄膜病的診療(眼耳鼻咽喉科學(xué))
- 成都信息工程大學(xué)《展示設(shè)計(jì)手繪表現(xiàn)技法》2023-2024學(xué)年第一學(xué)期期末試卷
- 成都文理學(xué)院《3D數(shù)字建?!?023-2024學(xué)年第一學(xué)期期末試卷
- 成都師范學(xué)院《公共衛(wèi)生英語》2023-2024學(xué)年第一學(xué)期期末試卷
- 成都理工大學(xué)《建筑環(huán)境與能源系統(tǒng)測試技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 東展廳改造項(xiàng)目古建筑修復(fù)與保護(hù)工程合同(二零二五)2篇
- 成都工貿(mào)職業(yè)技術(shù)學(xué)院《中醫(yī)基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 成都工貿(mào)職業(yè)技術(shù)學(xué)院《寵物針灸學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年LED顯示屏采購及安裝服務(wù)合同2篇
- 客運(yùn)站春運(yùn)安全行車教育
- 乳腺腔鏡手術(shù)介紹
- 服裝的生產(chǎn)方案
- JTGT F20-2015 公路路面基層施工技術(shù)細(xì)則
- 機(jī)械加工廠計(jì)劃管理
- 《美術(shù)策展方案》課件
- 幼兒教師專業(yè)發(fā)展及《幼兒園教師專業(yè)標(biāo)準(zhǔn)》解讀課件
- 云南保山電力股份有限公司招聘筆試題庫
- 銀行業(yè)聲譽(yù)風(fēng)險(xiǎn)管理培訓(xùn)
- 醫(yī)院季度投訴分析整改報(bào)告
- 全面醫(yī)療安全生產(chǎn)隱患排查清單
評論
0/150
提交評論