




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
編號:時間:2021年x月x日書山有路勤為徑,學(xué)海無涯苦作舟頁碼:第頁A、課程設(shè)計實施步驟同學(xué)們可按下列步驟完成所選題目的設(shè)計并寫出設(shè)計報告。第一步:問題分析在對所選題目進(jìn)行調(diào)研的基礎(chǔ)上,明確課題背景及該選題要做什么。依據(jù)調(diào)查結(jié)果,進(jìn)一步分析和表達(dá)用戶的需求。(1)系統(tǒng)的功能需求:圍繞選題,明確系統(tǒng)的主要功能;(2)用戶操作需求:系統(tǒng)應(yīng)以怎么的方式與用戶進(jìn)行交互。第二步:總體設(shè)計(1)系統(tǒng)的功能劃分:主要給出系統(tǒng)的功能結(jié)構(gòu)圖;(2)系統(tǒng)流程:主要給出系統(tǒng)工作流程示意圖。第三步:詳細(xì)設(shè)計與實現(xiàn)(1)類設(shè)計:給出系統(tǒng)中設(shè)計的類的功能、結(jié)構(gòu)等的說明;(2)系統(tǒng)的主要代碼:類的實現(xiàn)及程序主要代碼及其說明;第四步:測試以運行結(jié)果的形式給出程序的測試過程,需要運行界面截圖與文字說明,缺一不可。第五步:形成設(shè)計報告對設(shè)計結(jié)果的合理性、規(guī)范程度和實際運行的結(jié)果以報告的形式進(jìn)行提交。B、課程設(shè)計報告要求課程設(shè)計報告有四個方面的要求:1.問題描述。包括此問題的理論和實際兩個方面。2.解決方案。包括:(1)總體設(shè)計:應(yīng)合理劃分系統(tǒng)功能模塊,系統(tǒng)工作流程合理、符合實際;(2)詳細(xì)設(shè)計與實現(xiàn):類的設(shè)置是問題域中客觀存在事物的放映和抽象,代碼符合程序編寫規(guī)范;(3)測試:對系統(tǒng)應(yīng)進(jìn)行全面的功能測試,以保證系統(tǒng)的可靠運行。3.報告撰寫格式要規(guī)范,具體參見樣例。案例八用VC++制作一個商品銷售管理系統(tǒng)
關(guān)鍵詞:菜單制作
封面設(shè)計
商品銷售管理
狀態(tài)條
加速鍵面板
加速鍵與菜單連接8.1
課程設(shè)計的目的和意義商品銷售管理是任何生產(chǎn)單位、企業(yè)集團(tuán)所面臨的一項重要任務(wù),管理內(nèi)容非常復(fù)雜,涉及資金流、物質(zhì)流和人員流等等方面,內(nèi)容極其廣泛,因此制作一個商品銷售管理系統(tǒng)是十分重要的和必要的。8.2
系統(tǒng)功能設(shè)計在本系統(tǒng)的制作中,我們將介紹菜單的制作方法、在新的主界面中(不是由向?qū)傻闹鲗υ捒颍┑牟藛芜^程代碼的編制方法、加速鍵面板的制作及其加速鍵與菜單的連接方法。這一案例與高校科研管理系統(tǒng)的制作幾乎類似,但可以看出它有許多的特色。商品銷售管理系統(tǒng)仍可以制作成一個多頁面的“選項卡”式的管理系統(tǒng),完全可以用VC++的選項卡控件加以制作,但鑒于目前的一些VC++6.0版本對于選項卡控件的局限性,我們還是只能沿用前面的多個對話框的制作來實現(xiàn)對于商品銷售的多個方面的管理。在本系統(tǒng)中我們將介紹如何由用戶自己制作一個系統(tǒng)封面(不通過添加SPLASH工程的方法),該系統(tǒng)啟動封面出現(xiàn)后再確定是否進(jìn)入系統(tǒng)主控界面。其系統(tǒng)的啟動畫面如圖8.1所示。圖8.1系統(tǒng)封面效果系統(tǒng)封面可以控制系統(tǒng)的進(jìn)入,如果進(jìn)入系統(tǒng),則出現(xiàn)一個系統(tǒng)主控界面,通過系統(tǒng)主控界面可進(jìn)入系統(tǒng)的各個功能模塊。系統(tǒng)主要的功能模塊如圖8.2所示。圖8.2系統(tǒng)功能模塊圖系統(tǒng)功能模塊也可以由系統(tǒng)主空界面所體現(xiàn),如圖8.3所示。圖8.3系統(tǒng)功能模塊圖示可以看出,在系統(tǒng)主控界面中,我們設(shè)計了一個加速鍵面板,并分為兩個區(qū)域,一個區(qū)域的加速鍵用于“對內(nèi)”管理,一個區(qū)域用于“對外管理。這樣系統(tǒng)的功能和結(jié)構(gòu)更是一清二楚。8.3商品銷售管理系統(tǒng)中數(shù)據(jù)庫與數(shù)據(jù)表的創(chuàng)建數(shù)據(jù)庫是數(shù)據(jù)表的集合,系統(tǒng)開發(fā)首先應(yīng)該開發(fā)一個數(shù)據(jù)庫,它用于存放系統(tǒng)中的數(shù)據(jù)表,本章還是采用MicrosoftOffice2003中的MicrosoftAccess2003來進(jìn)行數(shù)據(jù)庫與數(shù)據(jù)表的創(chuàng)建工作。為此我們先定義數(shù)據(jù)庫中的7個數(shù)據(jù)表的結(jié)構(gòu)。即“商品目錄”數(shù)據(jù)表、“銷售部門”數(shù)據(jù)表、“雇員”數(shù)據(jù)表、“訂單”數(shù)據(jù)表、“客戶”數(shù)據(jù)表、“零售商”數(shù)據(jù)表、“國家”數(shù)據(jù)表。8.3.1商品銷售管理系統(tǒng)中數(shù)據(jù)庫與數(shù)據(jù)表的設(shè)計本案例所需要的數(shù)據(jù)表比較多,作為一個商品銷售管理系統(tǒng),尤其是大型生產(chǎn)企業(yè)或企業(yè)集團(tuán),它們所涉及的內(nèi)容、范圍比較廣泛,為此我們首先定義如下的一些數(shù)據(jù)表的結(jié)構(gòu)。1.“商品目錄”數(shù)據(jù)表結(jié)構(gòu)的定義商品目錄是商品銷售管理中的一個重要的方面,它來自于企業(yè)的生產(chǎn)實際,也是銷售管理中的主要參考對象,因此需要對商品目錄進(jìn)行有效的管理。根據(jù)商品目錄的特點,我們特設(shè)計“商品目錄”數(shù)據(jù)表的結(jié)構(gòu)如表8.1所示。表8.1“商品目錄”數(shù)據(jù)表結(jié)構(gòu)字段名稱字段類型字段大小小數(shù)位數(shù)索引必須填寫訂購編號商品編號部門編號質(zhì)量等級折扣數(shù)字?jǐn)?shù)字?jǐn)?shù)字?jǐn)?shù)字?jǐn)?shù)字默認(rèn)默認(rèn)默認(rèn)默認(rèn)默認(rèn)
是是是是是“商品目錄”數(shù)據(jù)表一經(jīng)創(chuàng)建,可以在其中輸入一些用于演示的數(shù)據(jù)記錄,以在后面的對話框制作中顯示對話框制作的數(shù)據(jù)操作效果。其數(shù)據(jù)可參考表8.2所示內(nèi)容。表8.2“商品目錄”數(shù)據(jù)表的參考數(shù)據(jù)訂購編號商品編號部門編號質(zhì)量等級折扣104710481048104910491050105010501050105110521052105310531053105410541055105510551055105610561057105810581059106010601121212341121231212341211211290033161231629547619334053185378116355349531311221535653241123811518123012367295412386135455318112213340531311238331653245349754231354285576568578775685655458000000000000000000000000000002.“雇員”數(shù)據(jù)表結(jié)構(gòu)的定義雇員管理是商品銷售管理中的又一個重要方面,因為任何商品銷售的管理均是通過雇員執(zhí)行的,根據(jù)雇員的特點,特設(shè)計“雇員”數(shù)據(jù)表的結(jié)構(gòu)如表8.3所示。表8.3
“雇員”數(shù)據(jù)表結(jié)構(gòu)字段名稱字段類型字段大小小數(shù)位數(shù)索引必須填寫雇員編號雇員名字雇員姓氏雇員電話聘用時間薪水?dāng)?shù)字文本文本文本日期/時間數(shù)字默認(rèn)101516默認(rèn)默認(rèn)
是是是是是是
“雇員”數(shù)據(jù)表的演示數(shù)據(jù)可參考表8.4。8.4“雇員”數(shù)據(jù)表參考數(shù)據(jù)雇員編號雇員名字雇員姓氏雇員電話聘用時間薪水2458911121415202428293436374445465261657172838594105107109110113NrldonYoungLambertJohnsonForestWestonLeeHallYoungPapadopoulosFisherBennetDeSouza
BaldwinReevesStansburyPhongRamanathanSteadmanNordstromLeungO′BrienBurbankSutherlandBishopMacDonaldWilliamsBenderCookBrownIchidaPageRobertoBruceKimLesliePhilK.J.TerriStewartKatherineChrisPeteAnnRogerJanetRogerWillieLeslieAshokWalterCarolLukeSueAnneJenniferMClaudiaDanaMaryS.RandyOliverH.KevinKellyYukiMary250233224102293425622723188788852882672162092104203877289
2904778922558942022284588-12-2888-12-2889-2-689-4-589-4-1790-1-1790-5-190-6-490-6-1490-1-190-9-1291-2-191-2-1891-3-2191-4-2591-4-2591-6-391-8-191-8-991-10-292-2-1892-3-2392-4-1592-4-2092-6-192-6-192-8-892-10-893-2-193-2-493-2-493-4-1240000.0055500.0025000.0025050.0025050.0033292.9345332.0034482.6224400.0025050.0023040.0034482.8025500.0023300.0033620.0039224.0040350.0033292.9419599.004500.0034500.0031275.0045332.0035699.0045000.0035699.0028900.0036799.0035500.0027000.0025689.0048000.003.“銷售部門”數(shù)據(jù)表結(jié)構(gòu)的定義在一個商品銷售管理系統(tǒng)中,銷售部門自然是它之中的一個重要內(nèi)容,特設(shè)計“銷售部門”數(shù)據(jù)表的結(jié)構(gòu)如表8.5所示。表8.5“銷售部門”數(shù)據(jù)表結(jié)構(gòu)字段名稱字段類型字段大小小數(shù)位數(shù)索引必須填寫部門編號零售商號說明庫存訂購成本價格數(shù)字?jǐn)?shù)字文本數(shù)字?jǐn)?shù)字?jǐn)?shù)字?jǐn)?shù)字默認(rèn)默認(rèn)50默認(rèn)默認(rèn)默認(rèn)默認(rèn)
是是
是是是是
“銷售部門”數(shù)據(jù)表的演示數(shù)據(jù)可參考表8.6所示內(nèi)容。表8.6“銷售部門”數(shù)據(jù)表的參考數(shù)據(jù)部門編號零售商號說明庫存訂購成本價格9009121313131413161320132813301364139019461986231423412343235023672383239026122613382038203511564135113511351135113511351165886588351135113511351135113511351120142014DivekayakUnderwaterDiverVehicleRegulatorSystemSecondStageRegulatorRegulatorSystemSecondStageRegulatorRegulatorSystemAlternateInflationRegulatorSecondStageRegulatorFirstStageRegulatorSecondStageRegulatorDepth/PressureGaugeConsoleElectronicConsoleDepth/PressureGaugePersonalDiveSonarCompassConsoleMountCompass(meteronly)Depth/PressureGaugeElectronicConsolew/optionsDirectSghtingCompassDiveComputer2451659875371664712814613251322646211168128241551632168870351004313514010241222545300183120231221356.75504117.5124.1119.3575.53154.885.899.964.695.7973.32120.948.372.8510.1524.9676.2218912.58276.973999.951680250365341171430260270170309188390105235295220642034.951794.“訂單”數(shù)據(jù)表的結(jié)構(gòu)在商品銷售管理系統(tǒng)中,訂單管理是不可缺少的,根據(jù)訂單的特點,定義“訂單”數(shù)據(jù)表的結(jié)構(gòu)如表8.7所示。表8.7“訂單”數(shù)據(jù)表結(jié)構(gòu)字段名稱字段類型字段大小小數(shù)位數(shù)索引必須填寫訂單編號客戶編號銷售日期交付日期負(fù)責(zé)人編號合同說明交付地址1交付地址2交付城市交付地點交付郵編交付的國家交付電話交付的VIA信箱交付說明付款方式貸物總數(shù)稅費運載費付款總量數(shù)字?jǐn)?shù)字日期/時間日期時間數(shù)字文本文本文本文本文本文本文本文本文本文本文本文本數(shù)字?jǐn)?shù)字?jǐn)?shù)字?jǐn)?shù)字默認(rèn)默認(rèn)默認(rèn)默認(rèn)默認(rèn)505050505010202020205050默認(rèn)默認(rèn)默認(rèn)默認(rèn)
是是
是是是是
是是是是是
是
是是是是是“訂單”數(shù)據(jù)表的演示數(shù)據(jù)可以參考表8.8所示內(nèi)容。表8.8“訂單”數(shù)據(jù)表參考數(shù)據(jù)訂單編號客戶編號銷售日期交付日期負(fù)責(zé)人編號合同說明交付地址1交付地址2交付城市交付地點交付郵編交付的國家交付電話交付的VIA信箱交付說明付款方式貸物總數(shù)稅費運載費付款總量1003135188-4-1288-5-3114
UPS
FOBCredit12504.5001004215688-4-1788-4-18145MariaEventoshPOBox737
Johannesburg
2042RepublicSo.Africa27-11-4432458DHL
FOBCheck78850078851005135688-4-2088-1-21110
UPS
FOBVisa48070048071006138094-11-688-11-746
EmeryP101324FOBVisa319870001007138488-5-188-5-245
USMail
FOBVisa6500006505.“客戶”數(shù)據(jù)表結(jié)構(gòu)定義客戶是銷售管理的直接對象,因此客戶管理也是商品銷售管理中的一個重要內(nèi)容,根據(jù)客戶數(shù)據(jù)的特點,定義“客戶”數(shù)據(jù)表的結(jié)構(gòu)如表8.9所示。表8.9“客戶”數(shù)據(jù)表結(jié)構(gòu)字段名稱字段類型字段大小小數(shù)位數(shù)索引必須填寫客戶編號公司名稱地址1地址2城市所在州名郵政編碼國家電話傳真稅費聯(lián)系方式最后交易日期數(shù)字文本文本文本文本文本文本文本文本文本數(shù)字文本日期/時間默認(rèn)5050505050165020201030默認(rèn)
是是是是是是是是是是是是是“客戶”數(shù)據(jù)表的演示數(shù)據(jù)可參考表8.10所示內(nèi)容。表8.10“客戶”數(shù)據(jù)表演示數(shù)據(jù)客戶編號公司名稱地址1地址2城市所在州名郵政編碼國家電話傳真稅費聯(lián)系方式最后交易日期1221
12311351KauaiDiveShoppeUniscoSightDiver4-976SugarloafHwyPOBoxZ-547NeptuneLaneSuiteKapaaKauaiFreeportKatoPaphos
94766-1234
94766-123494766-1234US
BahamasCyprus808-555-0269
809-555-3915357-6-876708808-555-0278
809-555-4958357-6-8709438.5
00
95-2-2
94-11-1794-10-186.“零售商”數(shù)據(jù)表結(jié)構(gòu)定義企業(yè)產(chǎn)品銷售是通過一些零售商進(jìn)行的,而且零售商的數(shù)量遠(yuǎn)比批發(fā)商的數(shù)量多,因此零售商數(shù)據(jù)管理是商品銷售管理的又一個重要組成部分。根據(jù)零售商數(shù)據(jù)結(jié)構(gòu)的特點,特定義“零售商”數(shù)據(jù)表的結(jié)構(gòu)如表8.11所示。表8.11“零售商”數(shù)據(jù)表結(jié)構(gòu)字段名稱字段類型字段大小小數(shù)位數(shù)索引必須填寫零售商編號零售商姓名地址城市所在州名郵政編碼國家電話傳真優(yōu)先償付數(shù)字文本文本文本文本文本文本文本文本數(shù)字默認(rèn)165050501650202010
是是是是是是是是是是“零售商”數(shù)據(jù)表的演示數(shù)據(jù)可參考表8.12所示內(nèi)容。
表8.12“零售商”數(shù)據(jù)表演示數(shù)據(jù)零售商姓名地址城市國家電話傳真2014264126743511
38193820
45214642CacorCorjporationUnderwaterJ.W.LuscherMfg.ScubaProfessionals
DiversSupplyShopTechniques
PerryScubaBeauchat,Inc.161SouthfieldRd50N3rdStreet65AddamsStreet3105EastBrace
5208UniversityDr52DolphinDrive
3443JamesAve45900SWSouthfieldIndianapolisBerkelyRanchoJDominguezMaconRedwoodCityHapevilleFtLauderdaleOHINMACA
GAGA
GAFL60093462080277990221
2086594065-1086
30354U.S.AU.S.AU.S.AU.S.A
U.S..AU.S..A
U.S..AU.S..A708-555-9555317-555-4523800-555-4744231-555-7850
912-555-6790415-555-1410
800-555-6220305-555-7242708-555-7547
508-555-8949
912-555-8474415-555-1276
404-555-8280305-555-6739-1-10-1
00
-1-17.“國家”數(shù)據(jù)表結(jié)構(gòu)定義對于大型企業(yè)或跨國集團(tuán)公司,往往一些產(chǎn)品是跨國銷售的,因此國家名錄管理也是一個輔助的管理內(nèi)容,其“國家”數(shù)據(jù)表的結(jié)構(gòu)定義如表8.13所示。表8.13“國家”數(shù)據(jù)表結(jié)構(gòu)字段名稱字段類型字段大小小數(shù)位數(shù)索引必須填寫國家首都所在州名地區(qū)人口文本文本文本文本數(shù)字50165050默認(rèn)
是是是是是“國家”數(shù)據(jù)表的演示數(shù)據(jù)可參考表8.14所示內(nèi)容。表8.14
“國家”數(shù)據(jù)表演示數(shù)據(jù)國家首都所在州名地區(qū)人口ArgentinaBoliviaCanadaChileColombiaCubaEcuadorElSalvadorGuyanaJamaicaMexicoNicaraguaParaguayPeruUnitedStatesofAmericaUruguayVenezuelaBuenosAiresLaPazBrasiliaOttawaSantiagoBagotaHavanaQuitoSanSalvadorGeorgetownKingstonMexicoCityManaguaAsuncionLimaWashingtonMontevideoCaracasSouthSouthAmericaSouthAmericaNorthAmericaSouthAmericaSouthAmericaNorthAmericaSouthAmericaNorthAmericaSouthAmericaNorthAmericaNorthAmericaNorthAmericaSouthAmericaSouthAmericaNorthAmericaSouthAmericaSouthAmerica27778151098575851119699761477569431138907114524455502208652149691142419671801390004065761285215936313017614091204732300003730000015040000026500000132000003300000010600000106000005300000080000002500000088600000039000000466000002160000002492000000300200001970000008.商品管理數(shù)據(jù)庫的創(chuàng)建過程與前面章節(jié)的創(chuàng)建數(shù)據(jù)庫的方法一樣,這里我們就不再重復(fù)了,其保存路徑為“D:\VC++寫作案例\CH8\商品銷售數(shù)據(jù)庫”。創(chuàng)建的數(shù)據(jù)庫和數(shù)據(jù)表如圖8.4所示。圖8.4商品銷售數(shù)據(jù)庫及數(shù)據(jù)表8.4制作一個系統(tǒng)封面的位圖文件在本案例中,我們?nèi)詫⒅谱饕粋€應(yīng)用系統(tǒng)封面,與案例七一樣,它不再是一個Splash畫面,而需要我們自己制作一個對話框作為系統(tǒng)封面,系統(tǒng)封面往往在系統(tǒng)啟動時加以顯示。系統(tǒng)封面的作用主要有:(1)說明系統(tǒng)名稱;(2)說明系統(tǒng)的歸屬,即版權(quán);(3)說明系統(tǒng)制作時間;(4)修飾應(yīng)用系統(tǒng)。這些內(nèi)容不是固定的,它可以根據(jù)用戶的需要和愛好加以制作。我們首先制作一個系統(tǒng)封面的位圖文件,其系統(tǒng)封面的位圖文件如圖8.5所示。圖8.5
系統(tǒng)封面位圖8.5創(chuàng)建“商品銷售管理系統(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ā)。本案例我將不再通過ODBC數(shù)據(jù)源創(chuàng)建的方法,創(chuàng)建作為基本框架中主對話框的數(shù)據(jù)源,而僅創(chuàng)建一個基本對話框?;緦υ捒蛴糜谥谱鲬?yīng)用系統(tǒng)的封面,基本框架的制作過程如下:(1)結(jié)束數(shù)據(jù)庫的創(chuàng)建并啟動VC++,出現(xiàn)VC++主控界面。(2)在VC++主控界面中單擊“文件|新建…”菜單項,出現(xiàn)新建工程類型選擇對話框,在工程類型對話框中選擇MFCAppWizard(EXE)工程類型。(3)輸入工程名稱為“商品銷售管理系統(tǒng)”并選擇Win32平臺類型。(4)單擊“確定”按鈕,進(jìn)入文檔類型設(shè)置對話框。(5)選擇“基本對話框”類型,即創(chuàng)建一個基本對話框的應(yīng)用程序,設(shè)置資源使用的語言為中文。(6)單擊“完成”按鈕,出現(xiàn)基本對話框的全部信息,如下所示:Applicationtypeof商品銷售管理系統(tǒng):Dialog-BasedApplicationtargeting:
Win32Classestobecreated:Applica5tion:CMylAppin商品銷售管理系統(tǒng).hand商品銷售管理系統(tǒng).cppDialog:CMylDlgin商品銷售管理系統(tǒng)Dlg.hand商品銷售管理系統(tǒng)Dlg.cppFeatures:
+Aboutboxonsystemmenu
+3DControls
+UsessharedDLLimplementation(MFC42.DLL)
+ActiveXControlssupportenabled
+Localizabletextin:
中文[中國]確認(rèn)創(chuàng)建信息之后,即出現(xiàn)應(yīng)用程序開發(fā)的對話框設(shè)計界面。8.6制作應(yīng)用系統(tǒng)封面在案例五和案例六的工程中,我們通過增加一個SPLASH工程,作為應(yīng)用系統(tǒng)的封面資源,但在本案例中,我們將生成的應(yīng)用系統(tǒng)框架中的基本對話框IDD-MY-DIALOG作為應(yīng)用系統(tǒng)的封面加以制作。為什么基本對話框可以作為應(yīng)用系統(tǒng)封面呢?很顯然,在工程編譯或運行時最先啟動的就是基本對話框,在前面我們將它稱之為主對話框,對主對話框進(jìn)行加工制作,用于創(chuàng)建應(yīng)用系統(tǒng)的封面,通過它確定是否進(jìn)行其他的相關(guān)操作,其制作步驟如下:(1)在主對話框IDD-MY-FORM中將提示文本框“TODO:在這個對話框里設(shè)置表格控制。”刪除。(2)在主對話框IDD-MY-FORM中將兩個命令按鈕“確定”和“取消”刪除,并放入兩個新的命令按鈕,設(shè)置它傘兵相關(guān)屬性。(3)在對話框IDD-MY-DIALOG中放入一個圖片控件,并加載我們前面制作的封面位圖文件,窗體布局如圖8.6所示。圖8.6
系統(tǒng)封面布局其中,兩個命令按鈕控件的屬性設(shè)置如表8.15所示。表8.15
命令按鈕對象的基本屬性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)的主界面(注意:這里我們指的系統(tǒng)主界面不再是由應(yīng)用系統(tǒng)框架生成的主對話框,而是我們自己增加并命名的一個對話框)。因此需要給這兩個命令按鈕建立消息映射,創(chuàng)建函數(shù)名和編制該命令的事務(wù)過程代碼。其方法在前面已經(jīng)大量涉及,就不再重復(fù)了?!斑M(jìn)入系統(tǒng)”命令按鈕的過程代碼如下所示:“退出系統(tǒng)”命令按鈕的過程代碼如下所示:8.7
系統(tǒng)主界面的制作在自動生成的應(yīng)用程序框架中,我們已經(jīng)將主對話框IDD-MY-DIALOG用作了系統(tǒng)封面,作為一個應(yīng)用系統(tǒng),目前它還需要一個系統(tǒng)主控界面,為此我們需要在工程中增加一個對話框資源,用于制作“商品銷售管理系統(tǒng)”主控界面。其步驟如下:(1)在VC++主菜單中單擊“插入|資源|Dialog”菜單項,確認(rèn)后即在工程的視圖選項卡中增加了一個新的對話框IDD-DIALOG1。(2)將新的對話框IDD-DIALOG1的標(biāo)題屬性修改為“商品銷售管理系統(tǒng)主控界面”。(3)在對話框中加入一個圖片控件并調(diào)用一個位圖文件,對主控界面加以修飾。(4)將OK命令按鈕刪除。(5)將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控件,仍舊需要用插入的方法將其插入到對話框中。該控件在ActiveX控件的列表中,如圖8.7所示。圖8.7狀態(tài)條控件狀態(tài)條控件的制作主要為“分段”,即插入窗格,通過插入窗格的個數(shù)就可以將狀態(tài)條分為若干段。然后為每一段進(jìn)行對齊布局和標(biāo)題設(shè)置,并為每一段安排一個“顯示數(shù)據(jù)”,可通過“樣式”列表進(jìn)行,如圖8.8所示。圖8.8
狀態(tài)條樣式設(shè)置用戶還可以為每一段即每一個窗格設(shè)置一個圖片,以對狀態(tài)條進(jìn)行修飾,最后對話框如圖8.9所示。圖8.9
對話框及狀態(tài)條布局
一個對話框只是一個框架,要使我們增加的對話框資源成為一個應(yīng)用系統(tǒng)的主界面,需要用菜單或命令按鈕的方法來完成其他程序或?qū)υ挼恼{(diào)用,因此我們需要制作一個菜單文檔,并與主界面對話框進(jìn)行連接。其菜單的制作過程如下:(1)在VC++主菜單中單擊“插入|資源|Menu”菜單項,確認(rèn)后即在工程的視圖選項卡中增加了一個菜單文檔IDR-MENU1。(2)雙擊該文檔,出現(xiàn)菜單設(shè)計器,在菜單設(shè)計器中設(shè)計每一個主菜單和下拉菜單即可,其設(shè)計效果如圖8.10所示。圖8.10
菜單設(shè)計其中所有的菜單條目如表8.16所示(注意:主菜單無索引編碼)。
表8.16
菜單及下拉菜單ID標(biāo)題內(nèi)容
ID-Menu-SPML
ID-Menu-XSBM
ID-Menu-DDGL
ID-Menu-GYGL
ID-Menu-DLGL
ID-Menu-KHGL
ID-Menu-GJML商品目錄商品目錄管理銷售部門銷售部門管理訂單管理訂單管理雇員管理雇員管理代理商管理代理商管理客戶管理客戶管理國家名目國家名目管理菜單文檔一經(jīng)創(chuàng)建,就需要用一個對話框來與之連接,成為該對話框的一個組合部分,這里的菜單連接就是與我們創(chuàng)建的主對話框進(jìn)行連接,連接的方法如下:(3)在對話框的通用屬性選項卡中打開“菜單”列表框,選擇一個菜單文檔進(jìn)行關(guān)聯(lián),如圖8.11所示。圖8.11
對話框與菜單的連接這樣運行工程并調(diào)用主界面時,菜單便顯示在對話框之中,如圖8.12所示。圖8.12
對話框與菜單的連接效果菜單的每一個條目與命令按鈕的作用幾乎是一致的,只是表現(xiàn)形式不同,主要用于對程序的執(zhí)行和對話框的調(diào)用,因此它仍然需要建立消息映射、創(chuàng)建命名函數(shù)、編制過程代碼。由于此處涉及多個菜單,我們將結(jié)合后面的對話框的制作再加以說明。8.8制作“商品目錄管理”對話框在前面我們幾乎為“商品銷售管理系統(tǒng)”形成了一個完整的框架,它包括系統(tǒng)封面、主窗口、主菜單、狀態(tài)條等各種Windows應(yīng)用系統(tǒng)的相關(guān)要素。但還未有任何實質(zhì)性的功能的制作,因此從本節(jié)起我們就將制作“商品銷售管理系統(tǒng)”中的各個功能模塊。首先制作“商品目錄管理”對話框。8.8.1增加對話框資源并插入控件對象作為一個較大的應(yīng)用系統(tǒng),,往往需要用一些專門的對話框進(jìn)行分類的數(shù)據(jù)處理,因此我們首先需要增加一個對話框資源。其操作如下:(1)在VC++主菜單中單擊“插入|資源|Dialog”菜單項,確認(rèn)后即在工程的視圖選項卡中增加了一個新的對話框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。其對話框的布局如圖8.13所示。圖8.13
“商品目錄管理”對話框布局8.8.2“商品目錄管理”對話框是工程中增加的新的資源,因此必須為它創(chuàng)建一個新類并加以聲明,關(guān)于對話框的類的創(chuàng)建過程我們就不多介紹了,將它的新類命名為“CSpm1Dlg”。一個新的類一經(jīng)創(chuàng)建,就需要在工程中對此加以聲明,目前調(diào)用該對話框資源的對話框是IDD-MainD1g,因此需要在它的實現(xiàn)文件中加以聲明,其聲明過程如下所示://MainD1g.cpp:implementationfile//#include"stdafx.h"#include"商品銷售管理系統(tǒng).h"#include"MainDlg.h"#include"Spmldlg.h"#ifdef_DEBUG#definenewDEBUG-NEW#undefTHIS-FILEStaticcharTHIS-FILE[]=_FILE_;#endif這樣在以后的使用中,可以將它作為一個已知的資源加以調(diào)用。8.8.3為“商品目錄管理”對話框引入數(shù)據(jù)源與前面的任何數(shù)據(jù)管理一樣,進(jìn)行數(shù)據(jù)管理的對話框必須引入或創(chuàng)建一個數(shù)據(jù)源,其操作如下:在“商品目錄管理”對話框中插入一個ActiveX控件ADODC1,并設(shè)置其基本屬性,如表8.17所示。表8.17ADODC1控件對象的基本屬性屬性屬性內(nèi)容ID顯示標(biāo)題ConnectionStringRecordSourceCommandTypeIDC_ADODCSPMLYES商品目錄DSN=商品銷售數(shù)據(jù)源商品目錄2-TableCommandType其中ADODC1控件屬性中的DSN屬性的設(shè)置過程如下:(1)用鼠標(biāo)右鍵單擊ADODC1控件,出現(xiàn)一個屬性設(shè)置頁面,將該頁面切換至控制屬性頁面,在控制頁面中選擇數(shù)據(jù)源創(chuàng)建類型,并新建一個數(shù)據(jù)源,出現(xiàn)一個數(shù)據(jù)源類型選擇對話框,如圖8.14所示。在數(shù)據(jù)源類型選擇對話框中,我們選擇一個僅用于本地機(jī)的用戶數(shù)據(jù)源類型。(2)單擊“下一步”按鈕,出現(xiàn)一個選擇數(shù)據(jù)源驅(qū)動程序的對話框,我們?nèi)匀贿x擇MicrosoftAccess數(shù)據(jù)源驅(qū)動程序,如圖8.15所示。(3)單擊“下一步”按鈕,出現(xiàn)完成安裝數(shù)據(jù)源設(shè)置的過程。(4)單擊“完成”按鈕,出現(xiàn)一個數(shù)據(jù)源設(shè)置對話框,如圖8.16所示。在數(shù)據(jù)源設(shè)置對話框中,首先需要設(shè)置一個數(shù)據(jù)源名稱,它是我們后面調(diào)用該數(shù)據(jù)源的依據(jù),為其取名為“商品銷售數(shù)據(jù)源”。另外用戶可對該數(shù)據(jù)源作一個描述或說明,如描述為“該數(shù)據(jù)源用于創(chuàng)建一個商品銷售管理系統(tǒng)”。
圖8.14數(shù)據(jù)源類型選擇
圖8.15數(shù)據(jù)源驅(qū)動程序選擇(5)單擊Select按鈕,出現(xiàn)一個打開文件對話框,在對話框中選擇前面創(chuàng)建的“商品銷售數(shù)據(jù)庫.mdb”即可,如圖8.17所示。(6)單擊OK按鈕,即完成整個數(shù)據(jù)源文件的創(chuàng)建工作。
圖8.16數(shù)據(jù)源設(shè)置
圖8.17數(shù)據(jù)源中的數(shù)據(jù)庫選擇接下來我們?yōu)锳DODC1控件選擇數(shù)據(jù)源,即“商品銷售數(shù)據(jù)源”,如圖8.18所示。(7)將ADODC1的屬性設(shè)置選項卡頁面切換至“記錄源”頁面,為ADODC1控件設(shè)置數(shù)據(jù)源命令類型和數(shù)據(jù)表文件,如圖8.19所示。
圖8.18
ADODC1的數(shù)據(jù)源選
圖8.19ADODC1記錄源設(shè)置設(shè)置記錄源本質(zhì)上就是從創(chuàng)建的數(shù)據(jù)源中選擇一個數(shù)據(jù)表文件。確認(rèn)后即完成整個ADODC1控件的屬性設(shè)置過程。8.8.4為“商品目錄管理”對話框引入表格控件在前面我們已經(jīng)為“商品目錄管理”對話框引入了數(shù)據(jù)源控件ADODC1,并創(chuàng)建了數(shù)據(jù)源,為能在對話框中對商品目錄進(jìn)行管理,我們需要在對話框中插入一個數(shù)據(jù)表格控件IDC_DATAGRID1,它的插入方法在前面已經(jīng)多次介紹過,這里就不再重復(fù)。其表格控件的基本屬性如表8.18所示。表8.18DataGrid控件的基本屬性屬性屬性內(nèi)容ID顯示標(biāo)題DataSourceAllowAddNewAllowArrowsAllowDeleteAllowUpdateIDC_DATAGRID1YES商品目編輯查詢表格IDC_ADODCSPMLTrueTrueTrueTrue最后的“商品目錄管理”對話框的布局如圖8.13所示,其運行效果如圖8.20所示。圖8.20“商品目錄”管理界面8.8.5我們已經(jīng)制作好了“商品目錄管理”對話框,但它是作為工程中的一個類來使用的,為此我們需要用一定的工具來調(diào)用該對話框,這個工具就是菜單資源,在主控界面中我們還制作了菜單的加速鍵,這里就需要我們用菜單和加速鍵來調(diào)用“商品目錄管理”對話框。菜單是與主對話框IDD_MainDlg進(jìn)行連接的,因此它已經(jīng)從屬于IDD_MainDlg類并列于其中,但與其他的命令按鈕一樣,需要為每一菜單建立消息映射、創(chuàng)建函數(shù)過程并編輯過程代碼。我們以“商品目錄”菜單為例,來說明“商品目錄”菜單對“商品目錄管理”對話框的調(diào)用方法,其操作如下:(1)在工程中的視圖選項卡中雙擊“IDD_MainDlg”對話框,出現(xiàn)該對話框。(2)用鼠標(biāo)右鍵單擊“IDD_MainDlg”對話框,出現(xiàn)一個快捷菜單。(3)在快捷菜單中單擊“創(chuàng)建類向?qū)А?,出現(xiàn)一個消息映射選項卡,如圖8.21所示。圖8.21類向?qū)нx項卡類向?qū)нx項卡中的第一個頁面即為消息映射頁面,在該頁面的對象索引目錄中顯示了全部菜單條目的名稱。(4)選擇“ID_Menu_SPML”菜單條目,即“商品目錄”菜單條目,并選擇消息類型為“COMMAND”類型,即命令類型,則激活A(yù)ddFunction按鈕。(5)單擊AddFunction按鈕,出現(xiàn)菜單函數(shù)定義界面,建議直接接受系統(tǒng)提示的函數(shù)名稱。(6)然后單擊EditCode按鈕編制過程代碼,其過程代碼如下所示:這樣就將主菜單與“商品目錄管理”對話框進(jìn)行了連接,從而編譯運行工程時可以利用該菜單直接調(diào)用“商品目錄管理”對話框。另外,我們還建立了一個“商品目錄”菜單對應(yīng)的加速鍵命令按鈕。為它建立消息映射、創(chuàng)建函數(shù)和編制代碼,其方法有兩種,第一種是按“商品目錄”菜單一樣的過程進(jìn)行;第二種方法是直接為“商品目錄”加速鍵引用“商品目錄”菜單的資源索引號。其具體過程如下:(1)用鼠標(biāo)右鍵單擊“商品目錄”加速鍵,出現(xiàn)一個快捷菜單。(2)在快捷菜單中選擇“屬性”,出現(xiàn)“商品目錄”加速鍵按鈕的屬性設(shè)置對話框。(3)在屬性設(shè)置對話框的資源列表框中選擇對應(yīng)的菜單索引,如圖8.22所示。圖8.22商品目錄加速鍵與對應(yīng)菜單這樣即快速完成了加速鍵與菜單的對應(yīng),并可通過它調(diào)用“商品目錄管理”對話框。8.9其他對話框的制作在前面我們已經(jīng)制作了一個“商品目錄管理”對話框,還有6個方面的管理內(nèi)容的對話框需要制作,其中包括:“銷售部門管理”對話框、“雇員管理”對話框、“訂單管理”對話框、“代理管理”對話框、“客戶管理”對話框、“國家名目管理”對話框。這6個對話框的制作過程完全可以采用與“商品目錄管理”對話框一樣的制作方法進(jìn)行,因此我們不再重復(fù)6次地進(jìn)行描述了。我們用一個總表來概括這7個對話框的類創(chuàng)建、類聲明、數(shù)據(jù)源控件設(shè)置和數(shù)據(jù)表控件設(shè)置(表8.19)然后列出主對話框的實現(xiàn)文檔供大家參考,它包含了類的聲明、進(jìn)程代碼等等內(nèi)容,這樣可以起到事半功倍的作用。8.9.1對話框制作參考表在工程中,七個對話框的類、聲明、數(shù)據(jù)源與數(shù)據(jù)表控件的創(chuàng)建請參考表8.19。
表8.19七個對話框的類、聲明、數(shù)據(jù)源與數(shù)據(jù)表設(shè)置參考“商品目錄管理”對話框類名及聲明數(shù)據(jù)源數(shù)據(jù)表CSpmlDlgIDC_ADODCSPMLIDC_DATAGRIDI#include"SpmlDlg.h"屬性屬性內(nèi)容屬性屬性內(nèi)容IDIDC_ADODCSMLIDIDC_DATAGRIDI顯示YES顯示YES標(biāo)題商品目錄標(biāo)題商品目錄編輯查詢表格ConnectionStringDSN=商品銷售數(shù)據(jù)源DataSourceIDC_ADODCSPMLRecordJSource商品目錄AllowAddNewTrueCommandType2-TableCommandTypeAllowArrowsTrue
AllowDeleteTrueAllowUpdateTrue“部門管理”對話框類名及聲明數(shù)據(jù)源數(shù)據(jù)表CBmglDlgIDC_ADODCBMGLIDC_DATAGRIDI#include"BmglDlg.h"屬性屬性內(nèi)容屬性屬性內(nèi)容IDIDC_ADODCBMGLIDIDC_DATAGRIDI顯示YES顯示YES標(biāo)題部門管理瀏覽查詢標(biāo)題銷售部門編輯查詢ConnectionStringDSN=商品銷售數(shù)據(jù)源DataSourceIDC_ADODCBMGLRecordSource銷售部門AllowAddNewTrueCommandType2-TableCommandTypeAllowArrowsTrue
AllowDeleteTrueAllowUpdateTrue“雇員管理”對話框類名及聲明數(shù)據(jù)源數(shù)據(jù)表CGygldlgIDC_ADODCGYGLIDC_DATAGRIDI#include"GyglDlg.h"屬性屬性內(nèi)容屬性屬性內(nèi)容IDIDC_ADODCGYGLIDIDC_DATAGRIDI顯示YES顯示YES標(biāo)題雇員瀏覽查詢標(biāo)題雇員編輯表格ConnectionStringDSN=銷售管理數(shù)據(jù)源DataSourceIDC_ADODCGYGLRecordSource雇員AllowAddNewTrueCommandType2-TanleCommandTypeAllowArrowsTrue
AllowDeleteTrueAllowUpdateTrue“訂單管理”對話框類名及聲明數(shù)據(jù)源數(shù)據(jù)表CDdglDlgIDC_ADODCDDGLIDC_DATAGRIDI#include"DdglDlg.h"屬性屬性內(nèi)容屬性屬性內(nèi)容IDIDC_ADODCDDGLIDIDC_DATAGRIDI顯示YES顯示YES標(biāo)題訂單瀏覽查詢標(biāo)題訂單編輯表ConnectionStringDSN=商品銷售數(shù)據(jù)源DataSourceIDC_ADODCDDGLRecordSource訂單AllowAddNewTrueCommandType2-TableCommandTypeAllowArrowsTrue
AllowDeleteTrueAllowUpdateTrue“代理管理”對話框類名及聲明數(shù)據(jù)源數(shù)據(jù)表#include"DlglDlg.h"IDC_ADODCDLGLIDC_DATAGRIDI屬性屬性內(nèi)容屬性屬性內(nèi)容IDIDC_ADODCDDGLIDIDC_DATAGRIDI顯示YES顯示YES標(biāo)題學(xué)術(shù)論文瀏覽查詢標(biāo)題學(xué)術(shù)論文編輯表ConnectionStringDSN=商品銷售數(shù)據(jù)源DataSourceIDC_ADODCDLGLRecordSource零售商AllowAddNewTrueCommandType2-TableCommandTypeAllowArrowsTrue
AllowDeleteTrueAllowUpdateTrue“客戶管理”對話框類名及聲明數(shù)據(jù)源數(shù)據(jù)表CKhglDlg#include"KhglDlg.h"IDC_ADODCKHGLIDC_DATAGRIDI屬性屬性內(nèi)容屬性屬性內(nèi)容IDIDC_ADODCDDGLIDIDC_DATAGRIDI顯示YES顯示YES標(biāo)題客戶瀏覽查詢標(biāo)題客戶編輯表ConnectionStringDSN=商品銷售數(shù)據(jù)源DataSourceIDC_ADODCKHGLRecordSource客戶AllowAddNewTrueCommandType2-TableCommandTypeAllowArrowsTrue
AllowDeleteTrueAllowUpdateTrue“國家名目管理”對話框類名及聲明數(shù)據(jù)源數(shù)據(jù)表CGjmmDlgIDC_ADODCGJMMIDC_DATAGRIDI#include"GjmmDlg.h"屬性屬性內(nèi)容屬性屬性內(nèi)容IDIDC_ADODCGJMMIDIDC_DATAGRIDI顯示YES顯示YES標(biāo)題國家名目瀏覽查詢標(biāo)題國家名目編輯表ConnectionStringDSN=商品銷售數(shù)據(jù)源DataSourceIDC_ADODCCGJMMRecordSource客戶AllowAddNewTrueCommandType2-TableCommandTypeAllowArrowsTrue
AllowDeleteTrueAllowUpdateTrue大家在制作后面幾個對話框時可以結(jié)合以下的總表加以實施。8.9.2主控界面的實現(xiàn)文件最后我們列出工程主對話框IDD_MainDlg的實現(xiàn)文件,我們制作的一切的對話框幾乎均是通過主對話框進(jìn)行控制的,因此該對話框的實現(xiàn)文件幾乎包含了后面制作的對話框的全部內(nèi)容,包括菜單過程和中速鍵過程的一切代碼。了解對話框或工程的實現(xiàn)的文件,對于學(xué)習(xí)運用VC++是大有好處的。//MainDlg.cpp:implementationfile#include"stdafx.h"#include"商品銷售管理系統(tǒng).h"#include"MainDlg.h"#include"SpmlDlg.h"#include"BmglDlg.h"#include"GyglDlg.h"#include"DdglDlg.h"#include"DlglDlg.h"#include"KhglDlg.h"#include"GjmmDlg.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEStaticcharTHIS_FILE[]=_FILE_;
#endif
/////////////////////////////////////////////////////////////////////////CMainDlgdialog
CMainDlg::CMainDlg(CWnd*pParent
/*=NULL*/):CDialog(CMainDlg::IDD,pParent){
//{{AFX_DATA_INIT(CMainDlg)
//NOTE:theClassWizardwilladdmemberinitializationhere
//}}AFX_DATA_INIT}
VoidCMainDlg::DoDoataExchange(CDataExchange*
pDX){
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMainDlg)
//NOTE:theClassWizardwilladdDDXandDDVcallshere
//}}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_COMMAND(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()/////////////////////////////////////////////////////////////////////////CMainDlgmessagehandlers
8.9.3工程實現(xiàn)文件的代碼分析在最后我們列出工程的實現(xiàn)文件,大家可以看出,在工程的實現(xiàn)文件中,它包括了對主對話框的聲明和調(diào)用,這樣大家可以了解工程執(zhí)行的前后關(guān)系.工程實現(xiàn)文件內(nèi)容如下所示://商品銷售管理系統(tǒng)Dlg.cpp:implementationfile#include"stdafx.h"#include"商品銷售管理系統(tǒng).h"#include"商品銷售管理系統(tǒng)Dlg.h"#include"MainDlg.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEStaticcharTHIS_FILE[]=_FILE_;#endif
//////////////////////////////////////////////////CAboutDlgdialogusedforAppAbout
ClassCAboutDlg:publicCDialog{Public:
CAboutDlg();
//DialogData
//{{AFX_DATA(CAboutDlg)
Enum{IDD=ABOUTBOX};
//}}AFX_DATA
//ClassWizardgeneratedvirtualfunctionoverrides
//{{AFX_VIRTUAL(CAboutDlg)Protected:
VirtualvoidDoDataExchange(CDataExchange*pDX);
//DDX/DDVsupport
//}}AFX_VIRTUAL
//ImplementationProtected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()};
CAboutDlg::CAboutDlg():CDialog(CAboutDlg::IDD){
//{{AFX_DATA(CAboutDlg)
//}}AFX_DATA_INIT}
VoidCAboutDlg::DoDoataExchange(CDataExchange*
pDX){
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP}
BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)//{{AFX_MSG_MAP(CAboutDlg)//Nomessagehandlers//}}AFX_MSG_MAPEND_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////CMyDlgdialog
CMainDlg::CMyDlg(CWnd*pParent
/*=NULL*/):CDialog(CMainDlg::IDD,pParent){
//{{AFX_DATA_INIT(CMyDlg)
//NOTE:theClassWizardwilladdmemberinitializationhere
//}}AFX_DATA_INIT
//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32
m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);}
VoidCMyDlg::DoDoataExchange(CDataExchange*
pDX){
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMyDlg)
//NOTE:theClassWizardwilladdDDXandDDVcallshere
//}}AFX_DATA_MAP}
BEGIN_MESSAGE_MAP(CMyDlg,CDialog)//{{AFX_MSG_MAP(CMyDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTONEXIT,OnButtonexit)ON_BN_CLICKED(IDC_BUTTONENTER,OnButtonexit)//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////CMyDlgmessagehandlers
BOOLCMyDlg::OnInitDialogf(){
CDialog::OnInitDialog();
//Add"About…"menuitemtosystemmenu.
//IDM_ABOUTBOXmustbeinthesystemcommandrange.
ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX<0xF000);
CMenu*pSysMenu=GetSystemMenu(FALSE);
if
(pSysMenu!=NULL)
{
CStringstrAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if
(!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);
}
}
//Settheiconforthisdialog.Theframeworkdoesthisautomatically
//whentheapplication’smainwindowisnotadialog
SetIcon(m_hIcon,TRUE);
//Setbigicon
SetIcon(m_hIcon,TRUE);
//Setbigicon
//TODO:AddextrainitializationhereReturnTRUE;//returnTRUEunlessyousetthefocustoacontrol}
VoidCMyDlg::OnSysCommand(UINTmID,LPARAMIParam){
if((nID&0xFFF0)==IDM_ABOUTBOX)
{
CAboutDlgdlgAbout;
dlgAbout.DoModal();
}
Else
{
CDialog::OnSysCommand(nID,lParam);
}}
//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,
VoidCMyDlg::OnPaint(){
if(IsIconic())
{
CPaintDCdc(this);//devicecontextforpainting
SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);
//Centericoninclientrectangle
intcxIcon=GetSystemMetrics(SM_CXICON);
intcyIcon=GetSystemMetrics(SM_CYICON);
CRectrect;
GetClientRect(&rect);
intx=(rect.Width()–cxIcon+1)/2;
inty=(rect.Height()–cyIcon+1)/2;
//Drawtheicon
dc.DrawIcon(x,y,m_hIcon);
}
Else
{
CDialog::OnPaint();
}}//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags//theminimizedwindow.HCURSORCMyDlg::OnQueryDragIcon(){
Return(HCURSOR)m_hIcon;}本案例我們制作了一個商品銷售管理系統(tǒng),它與高校科研管理系統(tǒng)的制作十分類似,但它具有自己的特色,在案例中也加入了一些新的內(nèi)容,如主窗體的布局風(fēng)格、加速鍵與菜單條目的資源索引共享等等。通過該系統(tǒng)的制作,大家可以加深用VC++制作數(shù)據(jù)庫應(yīng)用系統(tǒng)的印象,從而更深入地了解系統(tǒng)制作的一般過程。附錄資料:不需要的可以自行刪除Word常用快捷鍵由于Word有定義快捷鍵的功能,在重新指定快捷鍵后,不能再使用該組合完成以前的操作。例如,按快捷鍵Ctrl+B可將選定文本改為加粗格式,如果將Ctrl+B重新指定給一個新的命令或其他命令,則不能通過按Ctrl+B為文本應(yīng)用加粗格式,除非將快捷鍵指定恢復(fù)到初始設(shè)置。下面的列表使用說明如下:(1)表中出現(xiàn)的(F)、(E)、(V)、(I)、(O)、(T)、(A)、(W):分別代表文件、編輯、視圖、插入、格式、工具、表格和窗口菜單。(2)(切換方式):表示重復(fù)按該鍵還原操作。(3)Num?:表示小鍵盤上的數(shù)字鍵。(4)Ctrl+A:表示Ctrl鍵和A鍵的組合,其余類推。A.1常規(guī)快捷鍵Ctrl+A(E)選取整篇文檔(Ctrl+Num5)Ctrl+R可使段落右對齊Ctrl+B(E)加粗文本(Ctrl+Shift+B)Ctrl+](O)按磅值增加所選定內(nèi)容的字號Ctrl+C(E)復(fù)制所選內(nèi)容Ctrl+[(O)按磅值縮小所選定內(nèi)容的字號Ctrl+D(O)修改選定字符格式Ctrl+=(O)將選定內(nèi)容設(shè)為下標(biāo)(切換方式)Ctrl+E(O)段落居中Ctrl++(O)將選定內(nèi)容設(shè)為上標(biāo)(切換方式)Ctrl+H(E)查找并修改指定文字或格式Ctrl+*(V)顯示/隱藏所有非打印字符Ctrl+I(xiàn)(O)傾斜所選文字(切換方式)Ctrl+Tab(A)在單元格中插入制表符Ctrl+M(F)調(diào)整整段縮進(jìn)Ctrl+L(O)段落左對齊Ctrl+N(F)創(chuàng)建新文檔或模板Ctrl+Enter(O)在插入點插入一個分頁符Ctrl+O(F)打開已有的文檔或模板Ctrl+Up(E)將插入點上移一個段落Ctrl+P(F)打印文檔(=Ctrl+Shift+F12)Ctrl+Down(E)將插入點下移一個段落Ctrl+Q(O)刪除段落格式Ctrl+Home(E)將插入點移到文檔開始Ctrl+S(F)保存當(dāng)前活動文檔Ctrl+End(E)將插入點移到文檔結(jié)尾Ctrl+T(O)設(shè)置懸掛式縮進(jìn)Alt+/(A)快速選定整個表格Ctrl+U(O)給所選內(nèi)容添加下劃線Shift+F1(W)有關(guān)命令、屏幕區(qū)域的幫助信息或文字屬性Ctrl+V(E)在插入點插入剪貼板內(nèi)容Ctrl+Alt+I打印預(yù)覽Ctrl+W關(guān)閉文檔Ctrl+K(E)插入超級鏈接Ctrl+X(E)剪切所選內(nèi)容并將其放入剪貼板Ctrl+Shift+Space-bar創(chuàng)建不間斷空格Ctrl+Y(E)重復(fù)上一步操作(=F4=Alt+Enter)Ctrl+連字符創(chuàng)建不間斷連字符Ctrl+Z(E)取消上一步操作(=Alt+Backspace)Ctrl+Spacebar刪除字符格式A.2Ctrl與光標(biāo)鍵聯(lián)合使用的快捷鍵Ctrl+←可將插入點移到上一個英文單詞或中文詞Ctrl+→可將插入點移到下一個英文單
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年養(yǎng)殖市場分析:生豬價格與飼料成本博弈下的行業(yè)微利時代來臨
- 2025年衛(wèi)浴柜行業(yè)競爭分析:衛(wèi)浴柜行業(yè)競爭格局更加激烈
- 貴州省銅仁市2024-2025學(xué)年高三上學(xué)期1月期末考試英語試題【含答案】
- 2024-2025學(xué)年北京市朝陽區(qū)高二(上)期末歷史試卷
- 2025年公共營養(yǎng)師操作試題及答案
- 2025年醫(yī)院常見面試題及答案
- 居家老人測試題及答案
- 水土保護(hù)毯施工方案
- 5年級上冊所有文言文
- 4年級下冊英語書科普版
- 施工現(xiàn)場交叉作業(yè)安全防護(hù)管理措施
- 特殊學(xué)生檔案
- 2024年02月浙江2024年蕭山農(nóng)商銀行春季校園招考筆試歷年參考題庫附帶答案詳解
- 2024年東營市東營區(qū)人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 裝配式混凝土建筑基本結(jié)構(gòu)體系- 楊15課件講解
- 直腸癌新輔助治療
- 10.1溶液的酸堿性教學(xué)設(shè)計-2024-2025學(xué)年九年級化學(xué)人教版下冊
- 《3-6歲兒童學(xué)習(xí)與發(fā)展指南》考試復(fù)習(xí)題庫(含答案)
- 《個體防護(hù)裝備安全管理規(guī)范AQ 6111-2023》知識培訓(xùn)
- 電力法律法規(guī)培訓(xùn)
- 習(xí)近平總書記關(guān)于教育的重要論述研究(云南師范大學(xué))知到智慧樹章節(jié)答案
評論
0/150
提交評論