商品銷售管理系統(tǒng)的設(shè)計(jì)與開發(fā)_第1頁
商品銷售管理系統(tǒng)的設(shè)計(jì)與開發(fā)_第2頁
商品銷售管理系統(tǒng)的設(shè)計(jì)與開發(fā)_第3頁
商品銷售管理系統(tǒng)的設(shè)計(jì)與開發(fā)_第4頁
商品銷售管理系統(tǒng)的設(shè)計(jì)與開發(fā)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、東 北 石 油 大 學(xué)課 程 設(shè) 計(jì) 2012 年 7 月 10 日課 程 可視化編程課程設(shè)計(jì) 題 目 商品銷售管理系統(tǒng)的設(shè)計(jì)與開發(fā) 院 系 計(jì)算機(jī)與信息技術(shù)學(xué)院 專業(yè)班級 計(jì)科 10-6 班 學(xué)生姓名 學(xué)生學(xué)號 指導(dǎo)教師 東北石油大學(xué)課程設(shè)計(jì)任務(wù)書課程 可視化編程課程設(shè)計(jì)題目 商品銷售管理系統(tǒng)的設(shè)計(jì)與開發(fā)專業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 姓名 學(xué)號 主要內(nèi)容、基本要求、主要參考資料等一、主要內(nèi)容本次課程設(shè)計(jì)主要內(nèi)容為完成商品銷售管理系統(tǒng)的設(shè)計(jì)與開發(fā),該系統(tǒng)功能包括:1對商品目錄的管理。2對銷售部門的管理。3對雇員的管理。4對訂單信息、代理、客戶國家名目的管理。二、基本要求:1該系統(tǒng)開發(fā)環(huán)境為 micr

2、osoft visual c+6.0,后臺數(shù)據(jù)庫為 access。2完成系統(tǒng)規(guī)劃與設(shè)計(jì)過程,實(shí)現(xiàn)系統(tǒng)功能的開發(fā),確保系統(tǒng)可順利運(yùn)行; 3完成課程設(shè)計(jì)報(bào)告撰寫工作。三、主要參考資料:1 孫鑫,余安萍.vc+深入詳解m. 電子工業(yè)出版社,2006.2 王艷平,張錚.windows 程序設(shè)計(jì)m. 人民郵電出版社,2008.3 侯俊杰.深入淺出 mfcm. 華中科技大學(xué)出版社,2001.完成期限 21-22 周 指導(dǎo)教師 專業(yè)負(fù)責(zé)人 2012 年 7 月 10 日目 錄第 1 章 系統(tǒng)分析 .11.1 系統(tǒng)背景.11.2 開發(fā)工具.11.3 業(yè)務(wù)流程分析.2第 2 章 系統(tǒng)設(shè)計(jì)及功能要求 .32.1

3、系統(tǒng)架構(gòu) .32.2 系統(tǒng)功能模塊圖.32.3 模塊分析.32.4 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì).42.5 系統(tǒng)的功能要求.5第 3 章 系統(tǒng)實(shí)現(xiàn) .63.1 制作系統(tǒng)封面 .63.2 商品銷售管理系統(tǒng)應(yīng)用程序基本框架 .63.3 應(yīng)用系統(tǒng)封面界面 .73.4 商品銷售管理系統(tǒng)界面的制作.83.5 其他界面的制作 .17第 4 章 系統(tǒng)測試以及運(yùn)行 .254.1 測試目的.254.2 測試過程及結(jié)果.25總 結(jié) .26參考文獻(xiàn) .27東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)1第 1 章 系統(tǒng)分析1.1 系統(tǒng)背景商品銷售管理系統(tǒng)是根據(jù)舊時商店的貨品管理,財(cái)務(wù)管理的模式發(fā)展起來的,現(xiàn)在應(yīng)用于很多商店,使商店管理貨品

4、,掌握銷售信息更加高效。商品銷售管理系統(tǒng)的開發(fā)采用管理端銷售端的結(jié)構(gòu)模式,包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序(管理端,銷售端)的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng),安全性好的庫。而對于后者則要求應(yīng)用程序功能強(qiáng)勁,完善,易使用等特點(diǎn)1。1.2 開發(fā)工具vc+6.0 是 microsoft 公司推出的一個基于 windows 系統(tǒng)平臺、可視化的集成開發(fā)環(huán)境,它的源程序按 c+語言的要求編寫,并加入了微軟提供的功能強(qiáng)大的 mfc(microsoft foundation class)類庫2。mfc 中封裝了大部分 windows api函數(shù)和 windows 控件,它包含的

5、功能涉及到整個 windows 操作系統(tǒng)。mfc 不僅給用戶提供了 windows 圖形環(huán)境下應(yīng)用程序的框架,而且還提供了創(chuàng)建應(yīng)用程序的組件,這樣,開發(fā)人員不必從頭設(shè)計(jì)創(chuàng)建和管理一個標(biāo)準(zhǔn) windows 應(yīng)用程序所需的程序,而是從一個比較高的起點(diǎn)編程,故節(jié)省了大量的時間3。另外,它提供了大量的代碼,指導(dǎo)用戶編程時實(shí)現(xiàn)某些技術(shù)和功能。因此,使用 vc+提供的高度可視化的應(yīng)用程序開發(fā)工具和 mfc 類庫,可使應(yīng)用程序開發(fā)變得簡單。microsoft access 是一種關(guān)系式數(shù)據(jù)庫,關(guān)系式數(shù)據(jù)庫由一系列表組成,表又由一系列行和列組成,每一行是一個記錄,每一列是一個字段,每個字段有一個字段名,字段名

6、在一個表中不能重復(fù)。access 數(shù)據(jù)庫以文件形式保存,文件的擴(kuò)展名是 mdb4。嚴(yán)格地說,數(shù)據(jù)庫是“按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫”。在經(jīng)濟(jì)管理的日常工作中,常常需要把某些相關(guān)的數(shù)據(jù)放進(jìn)這樣的“倉庫”,并根據(jù)管理的需要進(jìn)行相應(yīng)的處理。本案例將用 vc+制作一個商品銷售管理系統(tǒng),可以基本實(shí)現(xiàn)商品銷售管理的大部分功能。本案例將采用簡化的過程代碼和完整的系統(tǒng)集成技術(shù),并采用odbc 方式連接數(shù)據(jù)源。東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)21.3 業(yè)務(wù)流程分析商品管理系統(tǒng)是供公司管理階層使用的,可分內(nèi)部管理和外部管理5。對內(nèi)可以管理雇員和商品銷售情況等,對外可以進(jìn)行客戶管理訂單管理等。主要功

7、能:1.用戶登錄;2.數(shù)據(jù)庫管理:(1).商品目錄的管理(2).銷售部門的管理(3).雇員管理的管理(4).代理管理的管理(5).客戶管理的管理(6).國家名目的管理3.退出系統(tǒng)。 東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)3第 2 章 系統(tǒng)設(shè)計(jì)及功能要求2.1 系統(tǒng)架構(gòu)該系統(tǒng)是專門用于用戶登錄、查閱商品銷售管理基本信息。用戶在成功登陸后可以查詢雇員基本信息,商品分類信息,訂單信息等。2.2 系統(tǒng)功能模塊圖本系統(tǒng)就是采用模塊化的設(shè)計(jì)思想來完成的系統(tǒng),系統(tǒng)功能模塊圖如圖 2.1所示:圖 2-1 系統(tǒng)模塊功能圖2.3 模塊分析1“登陸系統(tǒng)”模塊“登錄系統(tǒng)”模塊包括進(jìn)入系統(tǒng)和退出系統(tǒng)兩部分,點(diǎn)擊進(jìn)入系統(tǒng)可

8、以進(jìn)入下一模塊。2“系統(tǒng)主控界面”模塊“系統(tǒng)主控界面”模塊有商品目錄,銷售部門 ,雇員管理 ,訂單管理 ,銷售部門管理訂單管理雇員管理代理商管理商品目錄管理國家目錄管理商品銷售管理系統(tǒng)東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)4代理管理,客戶管理,國家名目按鈕,點(diǎn)擊按鈕可進(jìn)入相應(yīng)模塊。3.“系統(tǒng)功能界面”模塊“系統(tǒng)功能界面”是具體查看各類信息的界面。2.4 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)根據(jù)上功能分析,需要建立以下的表:1.訂單信息表;2.雇員信息表; 3.國家信息表;4.客戶信息表;5.零售商信息表;6.商品目錄信息表;7.銷售部門信息表。表 2-1 訂單信息表編號訂單編號客戶編號銷售日期交付日期合同說明稅費(fèi)運(yùn)載

9、費(fèi)付款總量1105552011-1-12011-1-15610.0010.000.00表 2-2 雇員信息表編號雇員編號雇員名字雇員姓氏雇員電話聘用時間薪水11張一王136666662012-7-114210.00表 2-3 國家信息表編號國家首都所在州名地區(qū)人口1中國北京-黑龍江省540 萬表 2-4 客戶信息表編號客戶編號公司名稱地址傳真稅費(fèi)聯(lián)系方式最后交易日期11網(wǎng)易北京055555560133333332012-7-11表 2-5 零售商信息表編號零售商編號零售商姓名地址國家電話傳真優(yōu)先償付11王二中國13555555222666-55555000.00東北石油大學(xué)本科生可視化編程課程

10、設(shè)計(jì)5表 2-6 商品目錄信息表編號訂單編號商品編號部門編號質(zhì)量品級折扣2104719007031048095583表 2-7 銷售部門信息表部門編號零售商品說明庫存訂購成本價格93820優(yōu)5124410953555.001399.002.5 系統(tǒng)的功能要求本商品銷售管理系統(tǒng)應(yīng)具備以下功能:1.交易管理,包括進(jìn)貨登記管理,銷售登記管理,退貨登記管理的功能。2.進(jìn)貨統(tǒng)計(jì)管理,其中包括有關(guān)進(jìn)貨的各種統(tǒng)計(jì)數(shù)據(jù)表,如今日進(jìn)貨統(tǒng)計(jì),本月進(jìn)貨統(tǒng)計(jì),本極度進(jìn)貨統(tǒng)計(jì),本年度進(jìn)貨統(tǒng)計(jì)等。3.銷售統(tǒng)計(jì)管理,其中包括有關(guān)銷售的各種統(tǒng)計(jì)數(shù)據(jù)表,如今日銷售統(tǒng)計(jì),本月銷售統(tǒng)計(jì),本極度銷售統(tǒng)計(jì),本年度銷售統(tǒng)計(jì)等。4.員工銷

11、售業(yè)績的考核,可以很方便的查看各員工的銷售情況,以便對各員工的業(yè)績進(jìn)行考核比較。5.同時,為了能夠更好的了解企業(yè)各方面情況,以便于經(jīng)營管理。還需要幾個信息表來顯示諸如庫存,生產(chǎn)廠商,員工信息等內(nèi)容的功能。東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)6第 3 章 系統(tǒng)實(shí)現(xiàn)商品銷售管理系統(tǒng)是利用現(xiàn)有的軟硬件環(huán)境,充分的利用資源制訂的。系統(tǒng)符合公司對信息管理的需求,采用模塊化的程序設(shè)計(jì)的方法,便于系統(tǒng)功能的各種組合和修改。采用模塊化的原理進(jìn)行程序設(shè)計(jì),可以使結(jié)構(gòu)變得清晰,不僅容易設(shè)計(jì)實(shí)現(xiàn),也容易閱讀和理解,更容易進(jìn)行維護(hù)和升級。3.1 制作系統(tǒng)封面在本案例中,我們?nèi)詫⒅谱饕粋€應(yīng)用系統(tǒng)封面,我們需要制作一個對

12、話框作為系統(tǒng)封面,系統(tǒng)封面往往在系統(tǒng)啟動時加以顯示。系統(tǒng)封面的作用主要有:(1)說明系統(tǒng)名稱;(2)說明系統(tǒng)的歸屬,即版權(quán);(3)說明系統(tǒng)制作時間 ;(4)修飾應(yīng)用系統(tǒng)。我首先制作一個系統(tǒng)封面的位圖文件,其系統(tǒng)封面的位圖文件如圖 3-1所示:圖 3-1 系統(tǒng)封面3.2 商品銷售管理系統(tǒng)應(yīng)用程序基本框架在前面我們已經(jīng)創(chuàng)建了數(shù)據(jù)庫、數(shù)據(jù)表、制作了系統(tǒng)封面的位圖文件,也就是作好了系統(tǒng)開發(fā)的一切工作,因此我們可以著手應(yīng)用系統(tǒng)的界面制作了。在vc+中,往往將應(yīng)用程序的界面稱作對話框,應(yīng)用程序界面的制作往往就是對對話框的應(yīng)用開發(fā)。東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)7本案例我將不再通過 odbc 數(shù)據(jù)源創(chuàng)

13、建的方法,創(chuàng)建作為基本框架中主對話框的數(shù)據(jù)源,而僅創(chuàng)建一個基本對話框?;緦υ捒蛴糜谥谱鲬?yīng)用系統(tǒng)的封面,基本框架的制作過程如下:(1)結(jié)束數(shù)據(jù)庫的創(chuàng)建并啟動 vc+,出現(xiàn) vc+主控界面。(2)在 vc+主控界面中單擊“文件|新建”菜單項(xiàng),出現(xiàn)新建工程類型選擇對話框,在工程類型對話框中選擇 mfc appwizard(exe)工程類型。(3)輸入工程名稱為“商品銷售管理系統(tǒng)”并選擇 win32 平臺類型。(4)單擊“確定”按鈕,進(jìn)入文檔類型設(shè)置對話框。(5)選擇“基本對話框”類型,即創(chuàng)建一個基本對話框的應(yīng)用程序,設(shè)置資源使用的語言為中文。(6)單擊“完成”按鈕,出現(xiàn)基本對話框的全部信息,確認(rèn)創(chuàng)

14、建信息之后,即出現(xiàn)應(yīng)用程序開發(fā)的對話框設(shè)計(jì)界面。3.3 應(yīng)用系統(tǒng)封面界面在案例五和案例六的工程中,我們通過增加一個 splash 工程,作為應(yīng)用系統(tǒng)的封面資源,但在本案例中,我們將生成的應(yīng)用系統(tǒng)框架中的基本對話框 idd-my-dialog 作為應(yīng)用系統(tǒng)的封面加以制作。為什么基本對話框可以作為應(yīng)用系統(tǒng)封面呢?很顯然,在工程編譯或運(yùn)行時最先啟動的就是基本對話框,在前面我們將它稱之為主對話框,對主對話框進(jìn)行加工制作,用于創(chuàng)建應(yīng)用系統(tǒng)的封面,通過它確定是否進(jìn)行其他的相關(guān)操作,其制作步驟如下: (1)在主對話框 idd-my-form 中將提示文本框“todo:在這個對話框里設(shè)置表格控制?!眲h除。 (

15、2)在主對話框 idd-my-form 中將兩個命令按鈕“確定”和“取消”刪除,并放入兩個新的命令按鈕,設(shè)置它傘兵相關(guān)屬性。 (3)在對話框 idd-my-dialog 中放入一個圖片控件,并加載我們前面制作的封面位圖文件,窗體布局如圖 3-2 所示。圖 3-2 窗體布局東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)8其中,兩個命令按鈕控件的屬性設(shè)置如表 3-1 所示:表 3-1 命令按鈕對象的基本屬性id標(biāo)題內(nèi)容idc-buttonenter進(jìn)入系統(tǒng)idc-buttonexit退出系統(tǒng)在兩個命令按鈕中,其中一個用于退出系統(tǒng),即結(jié)束整個系統(tǒng)操作,另外一個用于進(jìn)入系統(tǒng),所謂進(jìn)入系統(tǒng),就是進(jìn)入應(yīng)用系統(tǒng)的主界

16、面因此需要給這兩個命令按鈕建立消息映射,創(chuàng)建函數(shù)名和編制該命令的事務(wù)過程代碼?!斑M(jìn)入系統(tǒng)”命令按鈕的過程代碼如下所示:void cmydig:onbuttonenter()/todo:add your control notification handler code herecmaindig maindig;maindig domodal(); “退出系統(tǒng)”命令按鈕的過程代碼如下所示:void cmydig:onbuttonexit() /todo:add your control notification handler code hereonok();3.4 商品銷售管理系統(tǒng)界面的制作在

17、自動生成的應(yīng)用程序框架中,我們已經(jīng)將主對話框 idd-my-dialog 用作了系統(tǒng)封面,作為一個應(yīng)用系統(tǒng),目前它還需要一個系統(tǒng)主控界面,為此我們需要在工程中增加一個對話框資源,用于制作“商品銷售管理系統(tǒng)”主控界面。其步驟如下:(1)在 vc+主菜單中單擊“插入|資源|dialog”菜單項(xiàng),確認(rèn)后即在工程的視圖選項(xiàng)卡中增加了一個新的對話框 idd-dialog1。(2)將新的對話框 idd-dialog1 的標(biāo)題屬性修改為“商品銷售管理系統(tǒng)主控界面”。(3)在對話框中加入一個圖片控件并調(diào)用一個位圖文件,對主控界面加以修飾。(4)將 ok 命令按鈕刪除。東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)9(5

18、)將 cancel 命令按鈕刪除。(6)在對話框中放入三個分組框控件,用于對對話框進(jìn)行區(qū)域劃分,形成層次感。(7)在對話框中放入一個標(biāo)簽控件,用于說明對話框,其標(biāo)簽標(biāo)題名為“商品銷售管理系統(tǒng)”。(8)在對話框中的兩個區(qū)域之中放入七個命令按鈕,作為七個功能的執(zhí)行控件。(9)在對話框中放入現(xiàn)代戰(zhàn)爭狀態(tài)條控件 idc-sbarctrl1,該控件是一個 activex 控件,仍舊需要用插入的方法將其插入到對話框中。用戶還可以為每一段即每一個窗格設(shè)置一個圖片,以對狀態(tài)條進(jìn)行修飾,最后對話框如圖 3-3 所示。圖 3-3 對話框及狀態(tài)條布局一個對話框只是一個框架,要使我們增加的對話框資源成為一個應(yīng)用系統(tǒng)的

19、主界面,需要用菜單或命令按鈕的方法來完成其他程序或?qū)υ挼恼{(diào)用,因此我們需要制作一個菜單文檔,并與主界面對話框進(jìn)行連接。其菜單的制作過程如下: (1)在 vc+主菜單中單擊“插入|資源|menu”菜單項(xiàng),確認(rèn)后即在工程的視圖選項(xiàng)卡中增加了一個菜單文檔 idr-menu1。(2)雙擊該文檔,出現(xiàn)菜單設(shè)計(jì)器,在菜單設(shè)計(jì)器中設(shè)計(jì)每一個主菜單和下拉菜單即可,其設(shè)計(jì)效果如圖 3-4 所示。圖 3-4 菜單設(shè)計(jì)東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)10其中所有的菜單條目如表 3-2 所示。表 3-2 菜單及下拉菜單id標(biāo)題內(nèi)容 id-menu-spml商品目錄商品目錄管理 id-menu-xsbm銷售部門銷售

20、部門管理 id-menu-ddgl訂單管理訂單管理 id-menu-gygl雇員管理雇員管理 id-menu-dlgl代理商管理代理商管理 id-menu-khgl客戶管理客戶管理 id-menu-gjml國家名目國家名目管理 菜單文檔一經(jīng)創(chuàng)建,就需要用一個對話框來與之連接,成為該對話框的一個組合部分,這里的菜單連接就是與我們創(chuàng)建的主對話框進(jìn)行連接,連接的方法如下:(3)在對話框的通用屬性選項(xiàng)卡中打開“菜單”列表框,選擇一個菜單文檔進(jìn)行關(guān)聯(lián),如圖 3-5 所示。圖 3-5 對話框與菜單的連接這樣運(yùn)行工程并調(diào)用主界面時,菜單便顯示在對話框之中,如圖 3-6 所示。東北石油大學(xué)本科生可視化編程課程

21、設(shè)計(jì)11圖 3-6 對話框與菜單的連接效果菜單的每一個條目與命令按鈕的作用幾乎是一致的,只是表現(xiàn)形式不同,主要用于對程序的執(zhí)行和對話框的調(diào)用,因此它仍然需要建立消息映射、創(chuàng)建命名函數(shù)、編制過程代碼。由于此處涉及多個菜單,我們將結(jié)合后面的對話框的制作再加以說明。在前面我們幾乎為“商品銷售管理系統(tǒng)”形成了一個完整的框架,它包括系統(tǒng)封面、主窗口、主菜單、狀態(tài)條等各種 windows 應(yīng)用系統(tǒng)的相關(guān)要素。但還未有任何實(shí)質(zhì)性的功能的制作,因此從本節(jié)起我們就將制作“商品銷售管理系統(tǒng)”中的各個功能模塊。首先制作“商品目錄管理”對話框。3.4.1 增加對話框資源并插入控件對象作為一個較大的應(yīng)用系統(tǒng),往往需要用

22、一些專門的對話框進(jìn)行分類的數(shù)據(jù)處理,因此我們首先需要增加一個對話框資源。其操作如下:(1)在 vc+主菜單中單擊“插入|資源|dialog”菜單項(xiàng),確認(rèn)后即在工程的視圖選項(xiàng)卡中增加了一個新的對話框 idd_dialog1。(2)將新的對話框 idd_dialog1 的標(biāo)題屬性修改為“商品目錄管理”;而它的資源索引號 idd_dialog1 修改為 idd_dialogspml。(3)刪除對話框中自動創(chuàng)建的兩個命令按鈕。(4)插入一個 ado 數(shù)據(jù)源控件 idc_adodc1。(5)插入一個數(shù)據(jù)表格控件 idc_datagrid1。其對話框的布局如圖 3-7 所示。東北石油大學(xué)本科生可視化編程課

23、程設(shè)計(jì)12圖 3-7 “商品目錄管理”對話框布局3.4.2 為“商品目錄管理”對話框創(chuàng)建新類并進(jìn)行聲明“商品目錄管理”對話框是工程中增加的新的資源,因此必須為它創(chuàng)建一個新類并加以聲明,關(guān)于對話框的類的創(chuàng)建過程我們就不多介紹了,將它的新類命名為“cspm1dlg”。一個新的類一經(jīng)創(chuàng)建,就需要在工程中對此加以聲明,目前調(diào)用該對話框資源的對話框是 idd-maind1g,因此需要在它的實(shí)現(xiàn)文件中加以聲明,其聲明過程如下所示:/maind1g.cpp : implementation file/#include stdafx.h#include 商品銷售管理系統(tǒng).h#include maindlg.h

24、#include spmldlg.h#ifdef _debug#define new debug-new#undef this-filestatic char this-file =_file_;#endif這樣在以后的使用中,可以將它作為一個已知的資源加以調(diào)用。3.4.3 為“商品目錄管理”對話框引入數(shù)據(jù)源與前面的任何數(shù)據(jù)管理一樣,進(jìn)行數(shù)據(jù)管理的對話框必須引入或創(chuàng)建一個數(shù)據(jù)源,其操作如下:在“商品目錄管理”對話框中插入一個 activex 控件 adodc1,并設(shè)置其基本屬性,如表 3-3 所示。東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)13表 3-3 adodc1 控件對象的基本屬性屬性屬性內(nèi)容

25、ididc_adodcspml顯示yes標(biāo)題商品目錄connectionstringdsn=商品銷售數(shù)據(jù)源recordsource商品目錄commandtype2-table commandtype其中 adodc1 控件屬性中的 dsn 屬性的設(shè)置過程如下:(1)用鼠標(biāo)右鍵單擊 adodc1 控件,出現(xiàn)一個屬性設(shè)置頁面,將該頁面切換至控制屬性頁面,在控制頁面中選擇數(shù)據(jù)源創(chuàng)建類型,并新建一個數(shù)據(jù)源,出現(xiàn)一個數(shù)據(jù)源類型選擇對話框,如圖 3-8 所示。(2)單擊“下一步”按鈕,出現(xiàn)一個選擇數(shù)據(jù)源驅(qū)動程序的對話框,我們?nèi)匀贿x擇 microsoft access 數(shù)據(jù)源驅(qū)動程序,如圖 3-9 所示。(

26、3)單擊“下一步”按鈕,出現(xiàn)完成安裝數(shù)據(jù)源設(shè)置的過程。(4)單擊“完成”按鈕,出現(xiàn)一個數(shù)據(jù)源設(shè)置對話框,如圖 3-10 所示。 在數(shù)據(jù)源設(shè)置對話框中,首先需要設(shè)置一個數(shù)據(jù)源名稱,它是我們后面調(diào)用該數(shù)據(jù)源的依據(jù),為其取名為“商品銷售數(shù)據(jù)源”。另外用戶可對該數(shù)據(jù)源作一個描述或說明,如描述為“該數(shù)據(jù)源用于創(chuàng)建一個商品銷售管理系統(tǒng)”。 圖 3-8 數(shù)據(jù)源類型選擇東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)14 圖 3-9 數(shù)據(jù)源驅(qū)動程序選擇(5)單擊 select 按鈕,出現(xiàn)一個打開文件對話框,在對話框中選擇前面創(chuàng)建的“商品銷售數(shù)據(jù)庫.mdb”即可,如圖 3-11 所示。(6)單擊 ok 按鈕,即完成整個數(shù)據(jù)

27、源文件的創(chuàng)建工作。圖 3-10 數(shù)據(jù)源設(shè)置 東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)15圖 3-11 數(shù)據(jù)源中的數(shù)據(jù)庫選擇接下來我們?yōu)?adodc1 控件選擇數(shù)據(jù)源,即“商品銷售數(shù)據(jù)源”,如圖 3-12 所示。(7)將 adodc1 的屬性設(shè)置選項(xiàng)卡頁面切換至“記錄源”頁面,為adodc1 控件設(shè)置數(shù)據(jù)源命令類型和數(shù)據(jù)表文件,如圖 3-13 所示。 圖 3-12 adodc1 的數(shù)據(jù)源選 圖 3-13 adodc1 記錄源設(shè)置東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)16設(shè)置記錄源本質(zhì)上就是從創(chuàng)建的數(shù)據(jù)源中選擇一個數(shù)據(jù)表文件。確認(rèn)后即完成整個 adodc1 控件的屬性設(shè)置過程。3.4.4 為“商品目錄管

28、理”對話框引入表格控件在前面我們已經(jīng)為“商品目錄管理”對話框引入了數(shù)據(jù)源控件 adodc1,并創(chuàng)建了數(shù)據(jù)源,為能在對話框中對商品目錄進(jìn)行管理,我們需要在對話框中插入一個數(shù)據(jù)表格控件 idc_datagrid1,它的插入方法在前面已經(jīng)多次介紹過,這里就不再重復(fù)。其表格控件的基本屬性如表 3-4 所示。表 3-4 datagrid 控件的基本屬性屬性屬性內(nèi)容ididc_datagrid1顯示yes標(biāo)題商品目編輯查詢表格datasourceidc_adodcspmlallowaddnewtrueallowarrowstrueallowdeletetrueallowupdatetrue最后的“商品目錄

29、管理”對話框的布局如圖 3-8 所示,其運(yùn)行效果如圖 3-14所示。圖 3-14 “商品目錄”管理界面東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)173.5 其他界面的制作在前面我們已經(jīng)制作了一個“商品目錄管理”界面,還有 6 個方面的管理內(nèi)容的界面需要制作,其中包括:“銷售部門管理”界面、“雇員管理 ”界面、“訂單管理”界面、“代理管理 ”界面、“客戶管理”界面、“國家名目管理”界面。這 6 個界面的制作過程完全可以采用與“商品目錄管理”界面一樣的制作方法進(jìn)行,因此我們不再重復(fù) 6 次地進(jìn)行描述了。我們用一個總表來概括這 7 個界面的類創(chuàng)建、類聲明、數(shù)據(jù)源控件設(shè)置和數(shù)據(jù)表控件設(shè)置然后列出主界面的實(shí)現(xiàn)

30、文檔供大家參考,它包含了類的聲明、進(jìn)程代碼等等內(nèi)容,這樣可以起到事半功倍的作用。3.5.1 主控界面的實(shí)現(xiàn)文件最后我們列出工程主對話框 idd_maindlg 的實(shí)現(xiàn)文件,我們制作的一切的對話框幾乎均是通過主對話框進(jìn)行控制的,因此該對話框的實(shí)現(xiàn)文件幾乎包含了后面制作的對話框的全部內(nèi)容,包括菜單過程和中速鍵過程的一切代碼。了解對話框或工程的實(shí)現(xiàn)的文件,對于學(xué)習(xí)運(yùn)用 vc+是大有好處的。/maindlg.cpp : implementation file# include stdafx.h# include 商品銷售管理系統(tǒng).h# include maindlg.h # include spmld

31、lg.h# include bmgldlg.h # include gygldlg.h # include ddgldlg.h # include dlgldlg.h # include khgldlg.h # include gjmmdlg.h # ifdef _debug # define new debug_new # undef this_file static char this_file =_file_; # endif / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /

32、 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / cmaindlg dialog cmaindlg:cmaindlg (cwnd* pparent /*=null*/) : cdialog (cmaindlg:idd, pparent)東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)18 / afx_data_init(cmaindlg) /note: the classwizard will add member initialization here / afx_data_init void cmaindlg:dodoat

33、aexchange(cdataexchange* pdx) cdialog:dodataexchange(pdx); / afx_data_map(cmaindlg) /note:the classwizard will add ddx and ddv calls here/afx _data_map begin_message_map(cmaindlg, cdialog) /afx_msg_map(cmaindlg) on_command(id_menu_spml, onmenuspml) /on_bn_clicked(idc_buttonspml, onbuttonspml)on_comm

34、and(id_menu_ddgl, onmenuddgl)on_command(id_menu_dlgl, onmenudlgl)on_command(id_menu_gjml, onmenugjml)on_command(id_menu_gygl, onmenugygl)on_command(id_menu_khgl, onmenukhgl)on_bn_clicked(id_menu_spml, onmenuspml)on_command(id_menu_xsbm, onmenuxsbm)/afx _msg_mapend_message_map ( )/ / / / / / / / / /

35、/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / cmaindlg message handlersvoid cmaindlg:onmenuspml()/todo:add your command handler code herecspmldlg spmldlg;spmldlg.domodal();void cmaindlg:onbuttonspml()/todo:add your contr

36、ol notification handler code herecspmldlg spmldlg;spmldlg.domodal();東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)19void cmaindlg:onmenuddgl()/todo:add your command handler code herecspmldlg ddgldlg;ddgldlg.domodal();void cmaindlg:onmenudlgl()/todo:add your command handler code herecdlgdlg dlgdlg;dlgdlg.domodal();void cmaindlg

37、:onmenugjml()/todo:add your command handler code herecgjmmdlg gjmmdlg;gjmmdlg.domodal();void cmaindlg:onmenugygl()/todo:add your command handler code herecgygldlg gygldlg;gygldlg.domodal();void cmaindlg:onmenukhgl()/todo:add your command handler code hereckhgldlg khgldlg;khgldlg.domodal();void cmain

38、dlg:onmenuxsbm()/todo:add your command handler code herecbmgldlg bmgldlg;bmgldlg.domodal();東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)203.5.2 工程實(shí)現(xiàn)文件的代碼分析在最后我們列出工程的實(shí)現(xiàn)文件,大家可以看出,在工程的實(shí)現(xiàn)文件中,它包括了對主對話框的聲明和調(diào)用,這樣大家可以了解工程執(zhí)行的前后關(guān)系.工程實(shí)現(xiàn)文件內(nèi)容如下所示: /商品銷售管理系統(tǒng) dlg.cpp : implementation file # include stdafx.h # include商品銷售管理系統(tǒng).h # include商品銷售

39、管理系統(tǒng) dlg.h # include maindlg.h # ifdef _debug # define new debug_new # undef this_file static char this_file =_file_; # endif/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / caboutdlg dialog used for app about class caboutdlg:public cdialog public:

40、caboutdlg ( ); /dialog data /afx_data(caboutdlg) enum idd=aboutbox ; /afx_data /classwizard generated virtual function overrides /afx_virtual(caboutdlg)protected: virtual void dodataexchange(cdataexchange* pdx); /ddx/ddv support /afx_virtual /implementationprotected: /afx_msg(caboutdlg) /afx_msg dec

41、lare_message_map ( ); caboutdlg:caboutdlg ( ) : cdialog(caboutdlg:idd)東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)21 /afx_data(caboutdlg) /afx_data_init void caboutdlg:dodoataexchange(cdataexchange* pdx) cdialog:dodataexchange(pdx); / afx_data_map(caboutdlg) /afx _data_map begin_message_map(caboutdlg,cdialog)/afx_msg_map(cab

42、outdlg)/no message handlers/afx_msg_mapend_message_map( ) / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / cmydlg dialog cmaindlg:cmydlg (cwnd* pparent /*=null*/) : cdialog (cmaindlg:idd, pparent) / afx_

43、data_init(cmydlg) /note: the classwizard will add member initialization here /afx_data_init /note that loadicon does not require a subsequent destroyicon in win32 m_hicon = afxgetapp( )-loadicon(idr_mainframe); void cmydlg:dodoataexchange(cdataexchange* pdx) cdialog:dodataexchange(pdx); / afx_data_m

44、ap(cmydlg) /note:the classwizard will add ddx and ddv calls here /afx _data_map begin_message_map(cmydlg, cdialog)/afx_msg_map(cmydlg)on_wm_syscommand( )東北石油大學(xué)本科生可視化編程課程設(shè)計(jì)22on_wm_paint( )on_wm_querydragicon( )on_bn_clicked(idc_buttonexit, onbuttonexit)on_bn_clicked(idc_buttonenter, onbuttonexit)/afx

45、 _msg_mapend_message_map ( )/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / cmydlg message handlers bool cmydlg:oninitdialogf( ) cdialog:oninitdialog( ); / / add aboutmenu item to system menu. / / idm_a

46、boutbox must be in the system command range. assert(idm_aboutbox & 0 xfff0) = idm_aboutbox); assert(idm_aboutbox appendmenu(mf_separator); psysmenu-appendmenu(mf_string,idm_aboutbox ,straboutmenu); /set the icon for this dialog. the framework does this automatically /when the applications main windo

47、w is not a dialog seticon(m_hicon, true); / / set big icon seticon(m_hicon, true); / / set big icon /todo: add extra initialization herereturn true; / / return true unless you set the focus to a control void cmydlg:onsyscommand(uint mid, lparam iparam) if (nid & 0 xfff0) = idm_aboutbox) 東北石油大學(xué)本科生可視化

48、編程課程設(shè)計(jì)23 caboutdlg dlgabout; dlgabout.domodal( ); else cdialog:onsyscommand(nid, lparam); /if you add a minimize button to your dialog, you will need the code below /to draw the icon. for mfc applications using the document/view model, void cmydlg:onpaint( ) if(isiconic( ) cpaintdc dc(this); / / dev

49、ice context for painting sendmessage(wm_iconerasebkgnd,(wparam) dc.getsafehdc( ),0); /center icon in client rectangle int cxicon = getsystemmetrics(sm_cxicon); int cyicon = getsystemmetrics(sm_cyicon); crect rect; getclientrect(&rect); int x = (rect.width( ) cxicon + 1) / 2; int y = (rect.height( ) cyicon + 1) / 2; /draw the icon dc.drawicon(x, y, m_hicon); else cdialog:onpaint( ); /the system call

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論