版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘要</b></p><p> “超市進(jìn)存銷管理系統(tǒng)”是專門針對(duì)醫(yī)藥中小型超市的綜合業(yè)務(wù)而開發(fā)的綜合商品管理系統(tǒng)。該軟件集進(jìn)、銷、存一體化。本軟件的前臺(tái)采用目前最流行的面向?qū)ο蟮木幊陶Z(yǔ)Visual C++ 6.0開發(fā),后臺(tái)采用Access數(shù)據(jù)庫(kù)。軟件的界面美觀大方,軟件運(yùn)行穩(wěn)定。</p><p> Visual C++是Microso
2、ft公司推出的面向?qū)ο蟮?、功能?qiáng)大的可視化軟件開發(fā)工具,它將程序設(shè)計(jì)方法與可視的軟件開發(fā)環(huán)境完美結(jié)合,受到眾多程序設(shè)計(jì)人員的喜愛(ài)。使用Visual C++開發(fā) Windows應(yīng)用程序主要有兩種方法,一種是使用Windows提供的Windows API函數(shù);另一種是直接使用Microsoft提供的MFC類庫(kù)。</p><p> “超市進(jìn)存銷管理系統(tǒng)”軟件有以下特點(diǎn)有:功能強(qiáng)大、使用效率高、系統(tǒng)結(jié)構(gòu)靈活、用戶界面操
3、作簡(jiǎn)潔、系統(tǒng)性能穩(wěn)定。</p><p> 該系統(tǒng)主要由:基礎(chǔ)信息管理、銷售管理、入庫(kù)管理、調(diào)貨管理、入庫(kù)管理、調(diào)貨管理、庫(kù)存管理、結(jié)帳管理、帳務(wù)管理、系統(tǒng)管理組成。</p><p><b> 功能如下:</b></p><p> 基礎(chǔ)信息管理:商品信息管理、員工信息管理、供應(yīng)商信息管理、客戶信息管理。</p><p&g
4、t; 銷售管理:銷售登記、銷售退貨、銷售查詢、銷售退貨查詢、銷售退貨查詢。</p><p> 入庫(kù)管理:入庫(kù)登記、入庫(kù)退貨、入庫(kù)查詢、入庫(kù)退貨查詢。</p><p> 調(diào)貨管理:調(diào)貨登記、調(diào)貨查詢。</p><p> 庫(kù)存管理:庫(kù)存盤點(diǎn)、庫(kù)存查詢、倉(cāng)庫(kù)管理。</p><p> 結(jié)帳管理:銷售結(jié)帳、銷售退貨結(jié)帳、入庫(kù)結(jié)帳、入庫(kù)退貨結(jié)帳
5、。</p><p> 賬務(wù)管理:日結(jié)算管理、月結(jié)算管理、供應(yīng)商往來(lái)賬、客戶往來(lái)賬。</p><p> 系統(tǒng)管理:修改用戶密碼、修改權(quán)限設(shè)置、修改用戶、數(shù)據(jù)備份。</p><p><b> 目錄</b></p><p> 第一章 引言 1.1本課題的研究意義 1.2本論文的目的、內(nèi)
6、容及作者的主要貢獻(xiàn)第二章 研究現(xiàn)狀及設(shè)計(jì)目標(biāo) 2.1相近研究課題的特點(diǎn)及優(yōu)缺點(diǎn)分析 2.2現(xiàn)行研究存在的問(wèn)題及解決辦法 2.3本課題要達(dá)到的設(shè)計(jì)目標(biāo)第三章 要解決的幾個(gè)關(guān)鍵問(wèn)題 3.1研究設(shè)計(jì)中要解決的問(wèn)題 3.2具體實(shí)現(xiàn)中采用的關(guān)鍵技術(shù)及復(fù)雜性分析第四章 系統(tǒng)結(jié)構(gòu)與模型 4.1編程模型 4.2數(shù)據(jù)結(jié)構(gòu)第五章
7、系統(tǒng)實(shí)現(xiàn)技術(shù) 5.1登陸窗口第六章 性能測(cè)試與分析 第七章 結(jié)束語(yǔ)致謝參考文獻(xiàn)附源碼</p><p><b> 第一章 引言</b></p><p> 1.1本課題的研究意義</p><p> 隨著全球信息技術(shù)的飛速發(fā)展,尤其是因特網(wǎng)的出現(xiàn)和普及,企業(yè)和決策都發(fā)生了根本的改變。采用信息技術(shù)促
8、進(jìn)、改造企業(yè)的生產(chǎn)、經(jīng)營(yíng)、管理,有效采集和處理信息,增強(qiáng)企業(yè)決策的有效性,適應(yīng)全球發(fā)展的要求,將成為企業(yè)發(fā)展的必由之路。信息管理系統(tǒng)已經(jīng)成為現(xiàn)代企業(yè)的一個(gè)重要標(biāo)志和衡量企業(yè)綜合實(shí)力的重要組成部分。但是,信息管理系統(tǒng)的開發(fā)卻非常困難。開發(fā)一個(gè)成功的企業(yè)信息管理系統(tǒng),不僅要有方方面面的專業(yè)知識(shí),還要充分分析企業(yè)內(nèi)部、外部環(huán)境的變化和關(guān)系,以及在信息管理系統(tǒng)開發(fā)過(guò)程中所涉及的設(shè)備、技術(shù)上的復(fù)雜性。這就需要系統(tǒng)開發(fā)者不斷總結(jié)經(jīng)驗(yàn),不斷探索更好的
9、方法和技術(shù)。</p><p> 如今我國(guó)市場(chǎng)經(jīng)濟(jì)的蓬勃發(fā)展和人們對(duì)商品需求的迅速增長(zhǎng),零售業(yè)正處于一個(gè)高速發(fā)展的時(shí)期。行業(yè)的快速發(fā)展必然導(dǎo)致競(jìng)爭(zhēng)的加劇,要想在激烈的市場(chǎng)競(jìng)爭(zhēng)中謀求發(fā)展,客觀上要求企業(yè)必須加強(qiáng)內(nèi)部管理,提高運(yùn)營(yíng)效率,縮小運(yùn)營(yíng)成本。另外,由于商品的種類繁多、銷售模式特殊、業(yè)務(wù)量大,單一憑借手工記賬已適應(yīng)不了企業(yè)的快速發(fā)展的需求??梢哉f(shuō),沒(méi)有信息化的商品管理與銷售幾乎是不可想象的。企業(yè)內(nèi)部不能形成完善
10、、高效的激勵(lì)和約束的信息化管理機(jī)制,企業(yè)發(fā)展的原動(dòng)力不足,影響企業(yè)的持續(xù)、穩(wěn)定、快速發(fā)展。因此,盡快建立完善的現(xiàn)代化企業(yè)信息管理機(jī)制就是商品零售業(yè)發(fā)展的關(guān)鍵所在。</p><p> 1.2本論文的目的、內(nèi)容及作者的主要貢獻(xiàn)</p><p> 高效、穩(wěn)定的信息化管理系統(tǒng)是商品零售業(yè)的核心競(jìng)爭(zhēng)力之一。要建立符合超市經(jīng)營(yíng)、管理、創(chuàng)新等要求的信息化管理系統(tǒng),開發(fā)期間必須遵循一下規(guī)律:一是系統(tǒng)規(guī)
11、劃。商品零售業(yè)管理的信息化是一個(gè)系統(tǒng)工程,需要有科學(xué)的系統(tǒng)規(guī)劃與設(shè)計(jì)。二是避免重系統(tǒng)的表面現(xiàn)象輕其內(nèi)核。管理軟件產(chǎn)品必須以管理流程和業(yè)務(wù)流程為基礎(chǔ),其內(nèi)核應(yīng)蘊(yùn)含先進(jìn)的管理思想,缺乏管理思想支撐的系統(tǒng),很難成為優(yōu)秀的超市管理系統(tǒng)。三是避免重產(chǎn)品初期運(yùn)轉(zhuǎn),輕維護(hù)與服務(wù)。在信息系統(tǒng)初期應(yīng)用時(shí),多數(shù)企業(yè)都能給予相當(dāng)?shù)闹匾?,?dāng)完成系統(tǒng)驗(yàn)收后,企業(yè)往往不重視對(duì)該系統(tǒng)資源的保障、維護(hù)與服務(wù)的投入,以及對(duì)系統(tǒng)適應(yīng)的調(diào)整,使得信息系統(tǒng)生命周期大大縮短。經(jīng)
12、過(guò)我對(duì)一些中小超市的走訪中發(fā)現(xiàn),在經(jīng)營(yíng)管理過(guò)程中手工管理不能滿足超市的管理需求,需要采用先進(jìn)的管理方法和管理手段,擺脫傳統(tǒng)的經(jīng)驗(yàn)型經(jīng)營(yíng)方式,變粗放、定性核算方式為定量核算,因此利用先進(jìn)的計(jì)算機(jī)技術(shù)盡快實(shí)現(xiàn)商業(yè)管理的自動(dòng)化迫在眉睫。隨著信息時(shí)代的快速發(fā)展,管理者意識(shí)到只有采用信息化管理,才能取得市場(chǎng)領(lǐng)域的主導(dǎo)地位。</p><p><b> 研究現(xiàn)狀及設(shè)計(jì)目標(biāo)</b></p>
13、<p> 2.1相近研究課題的特點(diǎn)及優(yōu)缺點(diǎn)分析優(yōu)點(diǎn):現(xiàn)有的經(jīng)營(yíng)方式的不便之處在于:商品進(jìn)銷數(shù)量、金額使用手工三級(jí)賬處理,速度慢,工作量大,不準(zhǔn)確:對(duì)票據(jù)、供銷單位信息、應(yīng)收應(yīng)付款項(xiàng)易出錯(cuò)、易遺忘、查詢不便;經(jīng)營(yíng)決策缺乏準(zhǔn)確數(shù)據(jù)依據(jù),數(shù)據(jù)滯后于報(bào)表、統(tǒng)計(jì)計(jì)算工作量大、準(zhǔn)確率低。通過(guò)具有系統(tǒng)的管理,以上的問(wèn)題可以比較容易的解決,并且大大的提高了工作效率,贏得寶貴的決策時(shí)間。</p><p> 缺點(diǎn):需
14、要對(duì)現(xiàn)有的人員進(jìn)行操作培訓(xùn),使得熟練使用該系統(tǒng)。</p><p> 2.2現(xiàn)行研究存在的問(wèn)題及解決辦法</p><p> 商品銷售中遇到的問(wèn)題</p><p> (1)過(guò)去手工銷售時(shí),由于商品種類繁多,幾萬(wàn)種商品的管理相當(dāng)困難。</p><p> (2)由于客戶量大,每天前臺(tái)銷售開票、收款要求速度較快,采用手工開票不但效率低,而且開票
15、過(guò)程中很容易開錯(cuò)商品。</p><p><b> 解決辦法:</b></p><p> ?。?)強(qiáng)化基礎(chǔ)數(shù)據(jù)管理,在商品銷售時(shí),通過(guò)自動(dòng)提示窗口,即可以顯示商品列表,選擇客戶所要購(gòu)買的商品。</p><p> ?。?)為了提高銷售和開票的效率,采用表單式商品錄入,銷售過(guò)程通過(guò)鍵盤和自動(dòng)提示窗口可快速銷售商品。開票過(guò)程中的計(jì)算、統(tǒng)計(jì)完全由程序自
16、動(dòng)執(zhí)行。</p><p> 2.庫(kù)存管理中遇到的問(wèn)題</p><p> 在手工管理庫(kù)存時(shí),由于商品種類繁多,放置位置雜亂,庫(kù)管很難將商品的庫(kù)存情況及時(shí)有效掌握。經(jīng)常出現(xiàn)這樣的情況,滯銷的商品進(jìn)了不少,暢銷的商品卻沒(méi)有及時(shí)補(bǔ)進(jìn)。這必然造成部分商品積壓,由于庫(kù)存商品占用了大量資金,嚴(yán)重影響了企業(yè)的流動(dòng)資金,如果是食品過(guò)了保質(zhì)期,會(huì)給企業(yè)帶來(lái)?yè)p失,同時(shí)也帶來(lái)了庫(kù)存管理等一系列問(wèn)題。</
17、p><p><b> 解決辦法:</b></p><p> 影響庫(kù)存的因素有很多方面。根據(jù)每種商品的銷售情況制定庫(kù)存上下限可有效管理庫(kù)存。每天系統(tǒng)將需要補(bǔ)進(jìn)的商品列表預(yù)警,提示管理者及時(shí)調(diào)整。</p><p> 3.往來(lái)管理中遇到的問(wèn)題</p><p> 商品的銷售有自己獨(dú)特的要求,也就是常說(shuō)的“羅圈賬”。銷售順序是
18、廠家將產(chǎn)品發(fā)給各地的代理商,各代理商又將產(chǎn)品發(fā)給各個(gè)經(jīng)銷商,這是物流順序;而資金流動(dòng)方向正好相反,經(jīng)銷商將全部或部分賣出后與代理商結(jié)款,代理商收款后在與廠家結(jié)算。當(dāng)然退貨過(guò)程中與銷售過(guò)程正好相反。這種處理流程用手工操作是很難做到及時(shí)準(zhǔn)確的。</p><p> 解決辦法:設(shè)計(jì)日結(jié)算、月結(jié)算、供應(yīng)商往來(lái)賬、客戶往來(lái)賬等模塊進(jìn)行往來(lái)賬目的管理。</p><p> 2.3本課題要達(dá)到的設(shè)計(jì)目標(biāo)
19、</p><p> 面對(duì)商品零售行業(yè)的高速發(fā)展和醫(yī)藥企業(yè)信息化發(fā)展的過(guò)程中出現(xiàn)的各種情況,并根據(jù)公司的業(yè)務(wù)情況,該系統(tǒng)在實(shí)施后,應(yīng)能夠達(dá)到一下目標(biāo):</p><p> 建立規(guī)范的業(yè)務(wù)管理模式,使業(yè)務(wù)人員從繁忙的手工開票、統(tǒng)計(jì)報(bào)表工作中解脫 </p><p> 出來(lái),提高工作效率,減少人為差錯(cuò)。</p><p> 實(shí)現(xiàn)多點(diǎn)操作的信息共
20、享,相互之間的信息傳遞要準(zhǔn)確、快捷和順暢。</p><p> 提供快速、準(zhǔn)確的處理企業(yè)商品進(jìn)、存銷、調(diào)、退、盤點(diǎn)等多種業(yè)務(wù)模式。</p><p> 系統(tǒng)界面友好美觀,操作簡(jiǎn)單易行,查詢靈活方便,數(shù)據(jù)存儲(chǔ)安全可靠。</p><p> 利用客戶檔案、應(yīng)收應(yīng)付、預(yù)警系統(tǒng)等模塊結(jié)合啊在一起,可以對(duì)往來(lái)客戶進(jìn)行</p><p> 業(yè)務(wù)監(jiān)控,防止
21、壞賬的發(fā)生。</p><p><b> 支持多種結(jié)算方式。</b></p><p> 事業(yè)務(wù)、財(cái)務(wù)、庫(kù)房三賬合一,使三種賬務(wù)系統(tǒng)化、集成化,消除三種賬務(wù)不統(tǒng)</p><p><b> 一造成混亂。</b></p><p> 系統(tǒng)維護(hù)方便可靠,有較高的安全性,滿足實(shí)用性,先進(jìn)性的要求。<
22、/p><p> 第三章 要解決的幾個(gè)關(guān)鍵問(wèn)題 </p><p> 3.1研究設(shè)計(jì)中要解決的問(wèn)題</p><p> 商品銷售中遇到的問(wèn)題</p><p> (1)由于不能及時(shí)掌握庫(kù)存商品情況,經(jīng)常開出庫(kù)存沒(méi)有的商品。</p><p> ?。?)手工開票時(shí),經(jīng)常出現(xiàn)算錯(cuò)賬的情況,給企業(yè)造成了很大的損失。
23、</p><p><b> 解決辦法:</b></p><p> ?。?)在庫(kù)存提示中將顯示商品庫(kù)存情況,如果操作員輸入數(shù)量超過(guò)庫(kù)存數(shù)量將提示。</p><p> ?。?)計(jì)算全部由程序計(jì)算和統(tǒng)計(jì)。</p><p> 2.庫(kù)存管理中遇到的問(wèn)題</p><p> 手工管理庫(kù)存時(shí),要查詢某商品庫(kù)
24、存情況很難。</p><p><b> 解決辦法:</b></p><p> 可按不同字段、不同條件查詢商品的庫(kù)存信息,并支持模糊查詢以及在查詢結(jié)果中查詢。</p><p> 3.2具體實(shí)現(xiàn)中采用的關(guān)鍵技術(shù)及復(fù)雜性分析1.加密解密類的設(shè)計(jì):</p><p> 加密算法采用的是變換法,先確定密鑰為0x01、0x2
25、E、0x6e。0x6d。由于本算法是針對(duì)密碼加密,所以用戶輸入的密碼為明文,加密后的內(nèi)容為密文。算法如下:</p><p> 加密:密文=明文+密鑰(明文+密鑰<=FF)</p><p> 密文=明文+密鑰-256(明文+密鑰>FF)</p><p> 另外對(duì)很多無(wú)法顯示的字母很難以字符串的形式進(jìn)行存儲(chǔ)。所以,需要對(duì)加密后的內(nèi)容進(jìn)行處理,使其能以可
26、顯示的字符的形式存儲(chǔ)到數(shù)據(jù)庫(kù)中。將任何一個(gè)1字節(jié)的數(shù)變成兩個(gè)大寫字母來(lái)表示。</p><p> 2.在查詢結(jié)果中查詢:</p><p> 在查詢結(jié)果中查詢,通用的方案有以下兩種。</p><p> ?。?)使用統(tǒng)一的SQL語(yǔ)句查詢,可以建立兩個(gè)臨時(shí)表,利用兩個(gè)臨時(shí)表進(jìn)行相互結(jié)果的查詢。</p><p> (2)可以直接在顯示數(shù)據(jù)的列表控
27、件中查詢,不過(guò)這都是字符串查詢,也可以將查詢出來(lái)的資料以一定的類型存在模板Clist<...>定義出來(lái)的鏈表中,然后在鏈表中查詢。</p><p> 3.使CListCtrl控件可編輯</p><p> CListCtrl控件簡(jiǎn)單易用,美中不足是不能編輯,為在銷售定計(jì)中實(shí)現(xiàn)智能化錄入需要,應(yīng)使該控件可編輯。</p><p> 4.文檔/視圖的內(nèi)部結(jié)
28、構(gòu)</p><p> CWinApp有一個(gè)CDocManager*m_pDocManager。m_pDocManager用一個(gè)指針鏈表來(lái)維護(hù)一系列的Document Template。每個(gè)CDocTemplate有DocTemplate*m_pDocTemplate,指向Document Template;另外一個(gè)指針鏈表用來(lái)維護(hù)一系列的View。CFrameWnd有一個(gè)CView*m_pDocument指向相
29、關(guān)的Document。</p><p><b> 系統(tǒng)結(jié)構(gòu)與模型</b></p><p><b> 4.1編程模型</b></p><p><b> 4.2數(shù)據(jù)結(jié)構(gòu)</b></p><p><b> 1.tabbf表</b></p>
30、<p> tabbf表用于備份數(shù)據(jù)庫(kù)日期和路徑。</p><p><b> tabbf表的結(jié)構(gòu)</b></p><p><b> 2.tabck表</b></p><p> tabck表用于保存?zhèn)}庫(kù)信息。</p><p><b> tabck表結(jié)構(gòu)</b>&
31、lt;/p><p> 3.tabdhdj表</p><p> Tabdhdj表用于保存調(diào)貨登記信息。</p><p> 4.tabdhph表</p><p> tabdhph表用于保存調(diào)貨票號(hào)。</p><p><b> 5.tabgys表</b></p><p>
32、 tabgys表用于保存供應(yīng)商基礎(chǔ)信息。</p><p> 6.tabjsfs表</p><p> tabjsfs表用來(lái)保存結(jié)算方式。</p><p><b> 7.tabkc表</b></p><p> tabkc表用于保存庫(kù)存信息。</p><p> 8.tabkcpddj表<
33、/p><p> tabkcpddj表用于保存庫(kù)存盤點(diǎn)信息。</p><p> 9.tabkcpdph表</p><p> tabkcpdph表用于保存庫(kù)存盤點(diǎn)票號(hào)。</p><p><b> 10.tabkh表</b></p><p> tabkh表用于保存客戶信息。</p>
34、<p> 11.tabpurview表</p><p> tabpurview表用于保存權(quán)限信息。</p><p> 12.tabpurviwectrl表</p><p> tabpurviwectrl表用于保存權(quán)限指派信息。</p><p> 13.tabrkdj表</p><p> tabrk
35、dj表用于保存入庫(kù)登記的相關(guān)信息。</p><p> 14.tabrkjz表</p><p> tabrkjz表用于保存入庫(kù)結(jié)賬的相關(guān)信息。</p><p> 15.tabrkph表</p><p> tabrkph表用于保存入庫(kù)票號(hào)。</p><p> 16.tabrkthdj表</p>&l
36、t;p> tabrkthdj表用于保存入庫(kù)退貨的相關(guān)信息。</p><p> 17.tabrkthjz表</p><p> tabrkthjz表用于保存入庫(kù)退貨結(jié)帳的相關(guān)信息。</p><p> 18.tabrkthph表</p><p> tabrkthph表用于保存入庫(kù)退貨票號(hào)。</p><p>
37、 19.tabxsdj表</p><p> tabxsdj表用于保存商品的銷售信息。</p><p> 20.tabxsjz表</p><p> tabxsjz表用于保存銷售結(jié)賬信息。</p><p> 21.tabxsph表</p><p> tabxsph表用于保存銷售票號(hào)信息。</p>&
38、lt;p> 22.tabxsthdj表</p><p> tabxsthdj表用于保存銷售退貨信息。</p><p> 23.tabxsthjz表</p><p> tabxsthjz表用于保存銷售退貨結(jié)賬的相關(guān)信息。</p><p> 24.tabxsthph表</p><p> tabxsthph
39、表用于保存銷售退貨票號(hào)信息。</p><p> 25.tabyginfo表</p><p> tabyginfo表用于保存員工的基礎(chǔ)信息。</p><p> 26.tabypinfo表</p><p> tabypinfo表用于保存商品的基礎(chǔ)信息。</p><p> 第五章 系統(tǒng)實(shí)現(xiàn)技術(shù)</p>
40、<p><b> 5.1登陸窗口</b></p><p><b> ?。?)界面:</b></p><p><b> ?。?)設(shè)計(jì)步驟:</b></p><p> 增加對(duì)話框資源,設(shè)計(jì)窗體資源符號(hào)為IDD_DIALOG_LOGIN。為該窗口連接相關(guān)的類,在資源對(duì)話框上右鍵單擊,選擇【
41、Class Wizard...】選項(xiàng),會(huì)彈出【Add a class】對(duì)話框,提示IDD_DIALOG_LOGIN是一個(gè)新的資源,需要為這個(gè)資源創(chuàng)建一個(gè)類,或?yàn)樗B接一個(gè)現(xiàn)有類。在此,選擇新建一個(gè)派生于CDialog的類來(lái)連接資源,該類命名為CDlgLogin。</p><p> 當(dāng)用戶單擊【確定】時(shí),進(jìn)行密碼判斷和次數(shù)判斷。</p><p> 進(jìn)行焦點(diǎn)控制。定義控制焦點(diǎn)的函數(shù),該函數(shù)
42、定義了當(dāng)用戶單擊【Enter】鍵時(shí),焦點(diǎn)改變的順序,當(dāng)需要改變焦點(diǎn)時(shí),調(diào)用此函數(shù)。</p><p><b> 5.2主界面</b></p><p><b> (1)界面:</b></p><p><b> ?。?)設(shè)計(jì)步驟:</b></p><p><b> 創(chuàng)
43、建程序菜單:</b></p><p> 從菜單中選擇【View】/【W(wǎng)orkspace】項(xiàng),這時(shí)會(huì)彈出Workspace窗口。在工作區(qū)窗口中,能看到該程序所有使用的資源,并且每種資源都有一個(gè)資源符號(hào),主窗體也使用了一個(gè)資源符號(hào)IDD_A1_DIALOG,這是VC缺省提供的。可以在這里添加或者刪除各種資源。</p><p> 在工作區(qū)窗口右鍵單擊【a1 resources】選
44、項(xiàng),在彈出菜單中選擇【insert...】選項(xiàng),將彈出【Insert Resource】對(duì)話框。在該對(duì)話框中選擇【Menu】選項(xiàng),然后單擊【New】按鈕。</p><p> 右鍵雙擊菜單資源編輯器的虛線空白框,在彈出菜單中選擇【Properties】選項(xiàng),將彈出【Menu Item Properties】對(duì)話框,在【Menu Item Properties】對(duì)話框的【caption】(標(biāo)題)編輯框中鍵入:“基礎(chǔ)
45、信息(&I)”。此時(shí)關(guān)閉【Menu Item Properties】對(duì)話框,將在菜單編輯編輯器中生成主菜單“基礎(chǔ)信息”菜單下的虛線白框,在彈出的【Menu Item Properties】對(duì)話框中設(shè)計(jì)“商品信息(&M)”、“員工信息(&Y)”等菜單項(xiàng)。</p><p> 同上,可以設(shè)計(jì)其他主菜單及菜單項(xiàng)。</p><p><b> 基礎(chǔ)信息管理:<
46、;/b></p><p><b> ?。?)界面:</b></p><p><b> ?。?)設(shè)計(jì)步驟:</b></p><p><b> 創(chuàng)建數(shù)據(jù)訪問(wèn)基類</b></p><p> (1)分析數(shù)據(jù)訪問(wèn)基類如下:</p><p> 每個(gè)數(shù)據(jù)訪
47、問(wèn)類對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)的表或視圖,因此,該類需要屬性表名、主鍵名以及連接數(shù)據(jù)庫(kù)的對(duì)象。</p><p> 關(guān)于數(shù)據(jù)庫(kù)的操作有增加、刪除、修改和查詢某個(gè)值是否存在。</p><p> 由于字段名稱是拼音顯示,需要相關(guān)的漢字信息來(lái)提供給用戶看。關(guān)于字段的值于漢字說(shuō)明的一一對(duì)應(yīng)及相關(guān)操作。</p><p> 由于查詢出來(lái)的數(shù)據(jù)都放到了CListCtrl控件上,而且列表窗
48、口的標(biāo)題即字段名(漢字)對(duì)數(shù)據(jù)訪問(wèn)類是可見(jiàn)的。因此,可以把這刷新顯示的功能抽象出來(lái)。</p><p> ?。?)以上分析需在CDataTable類中聲明。</p><p> ?。?)具體介紹數(shù)據(jù)訪問(wèn)基類功能</p><p> 字符串列表指針m_pstrlistFields_Names要保存兩個(gè)字符串列表,一個(gè)用來(lái)保存拼音字段名,另一個(gè)用來(lái)保存字段名的漢字說(shuō)明。&l
49、t;/p><p> 另外,需要根據(jù)漢字說(shuō)明(數(shù)據(jù)列表顯示的列表標(biāo)題)查找拼音名稱(數(shù)據(jù)庫(kù)的字段名),于是,引入了如下兩個(gè)函數(shù),分別根據(jù)其中的一個(gè)值查找另一個(gè)值。</p><p> 關(guān)于數(shù)據(jù)庫(kù)數(shù)據(jù)訪問(wèn)的函數(shù)設(shè)成純虛函數(shù),由派生類定義。</p><p> 2.創(chuàng)建信息顯示基類CBaseTabCtrl</p><p> 查詢界面分兩個(gè)視圖顯示查
50、詢數(shù)據(jù),一個(gè)視圖用列表控件顯示所有查詢數(shù)據(jù),另一個(gè)視圖用來(lái)顯示某條指定的單個(gè)商品記錄的詳細(xì)數(shù)據(jù)。為此,決定從CTabCtrl控件繼承出界面基類。</p><p> 創(chuàng)建新類CBaseTabCtrl,選擇【Insert】/【NewClass...】,在彈出的對(duì)話框中,設(shè)置【ClassName】為CBaseTabCtrl,【BaseClass】為CTabCtrl,之后單擊【確定】即可。 </p>&l
51、t;p> 5.3銷售登記模塊運(yùn)行界面</p><p><b> ?。?)界面:</b></p><p><b> (2)設(shè)計(jì)步驟</b></p><p> 1.設(shè)計(jì)對(duì)話框及相關(guān)資源。</p><p> 2.創(chuàng)建左上角的標(biāo)題信息。</p><p> 3.自動(dòng)產(chǎn)生
52、銷售編。</p><p><b> 4.傳劍列表控件。</b></p><p> 5.在對(duì)話框的初始化函數(shù)中進(jìn)行數(shù)據(jù)初始化。</p><p><b> 6.實(shí)現(xiàn)按鈕功能。</b></p><p> 7.實(shí)現(xiàn)彈出提示窗口。</p><p><b> 8.其他
53、細(xì)節(jié)問(wèn)題。</b></p><p> ?。?)設(shè)計(jì)對(duì)話框及相關(guān)資源。</p><p> ?。?)創(chuàng)建左上角的標(biāo)題信息。</p><p> ?。?)自動(dòng)產(chǎn)生銷售編號(hào)。</p><p> ?。?)創(chuàng)建列表控件。</p><p> ?。?)在對(duì)話框的初始化函數(shù)中進(jìn)行數(shù)據(jù)初始化。</p><p&
54、gt; ?。?)實(shí)現(xiàn)按鈕功能:確定、打印、刪除、退出。</p><p> (7)實(shí)現(xiàn)彈出提示窗口。</p><p><b> 5.4銷售退貨模塊</b></p><p><b> (1)運(yùn)行界面:</b></p><p><b> ?。?)設(shè)計(jì)步驟:</b></p&
55、gt;<p> 銷售退貨模塊大部分于銷售登記模塊相同,在界面上少了客戶信息,多了銷售票號(hào)。另外在自動(dòng)提示窗口中顯示的提示信息也有所不同。</p><p> 1.設(shè)計(jì)對(duì)話框及相關(guān)資源</p><p> 2.長(zhǎng)劍左上角的標(biāo)題信息</p><p> 3.自動(dòng)生成銷售退貨號(hào)</p><p><b> 4.創(chuàng)建列表框控
56、件</b></p><p> 5.在對(duì)話框的初始化函數(shù)中進(jìn)行數(shù)據(jù)初始化。</p><p><b> 6.實(shí)現(xiàn)按鈕功能</b></p><p><b> 7.實(shí)現(xiàn)彈出提示框</b></p><p><b> 8.其他細(xì)節(jié)問(wèn)題</b></p>&l
57、t;p> 5.5 入庫(kù)登記模塊</p><p><b> (1)運(yùn)行界面:</b></p><p><b> ?。?)設(shè)計(jì)步驟:</b></p><p> 設(shè)計(jì)對(duì)話框及相關(guān)資源</p><p> 創(chuàng)建左上角的標(biāo)題信息</p><p><b> 自動(dòng)產(chǎn)
58、生入庫(kù)號(hào)</b></p><p><b> 長(zhǎng)劍列表控件</b></p><p> 在對(duì)話框的初始化函數(shù)中進(jìn)行數(shù)據(jù)初始化。</p><p><b> 實(shí)現(xiàn)按鈕功能</b></p><p><b> 實(shí)現(xiàn)彈出提示框</b></p><p&g
59、t;<b> 其他細(xì)節(jié)問(wèn)題</b></p><p> 5.6結(jié)賬管理模塊設(shè)計(jì)</p><p><b> (1)運(yùn)行界面:</b></p><p><b> ?。?)設(shè)計(jì)步驟:</b></p><p> 設(shè)計(jì)對(duì)話框及相關(guān)資源</p><p><
60、;b> 票號(hào)信息初始化</b></p><p><b> 結(jié)賬信息初始化</b></p><p> 處理編輯框的OnChange事件</p><p><b> 確定信息</b></p><p><b> 性能測(cè)試與分析</b></p>
61、<p> 超市進(jìn)存銷管理系統(tǒng)是專為中小型超市開發(fā)的一款軟件。它集成了進(jìn)、存銷一體化。</p><p> 打開登陸界面時(shí)顯示輸入用戶名和密碼,如果輸入錯(cuò)誤則顯示“請(qǐng)確認(rèn)用戶名大小寫是否正確”的對(duì)話框,三次輸入錯(cuò)誤自動(dòng)退出登錄界面,程序關(guān)閉。點(diǎn)擊【確認(rèn)】后進(jìn)入主界面。</p><p> 點(diǎn)擊【基礎(chǔ)信息】工具欄,彈出【商品信息】、【員工信息】、【供應(yīng)商信息】和【客戶信息】。<
62、;/p><p> 點(diǎn)擊【商品信息】后,彈出商品信息查詢表單。表單包括商品信息查詢和商品信息管理兩部分。在查詢中可以通過(guò)全部商品編號(hào)或部分商品編號(hào)等查詢商品。商品管理中可以添加、刪除和修改商品的信息。</p><p> 點(diǎn)擊【員工信息】后,彈出員工信息查詢表單。表單包括員工信息查詢和員工信息管理兩部分。在查詢中可以通過(guò)全部員工編號(hào)或部分員工編號(hào)等查詢員工。員工管理中可以添加、刪除和修改員工的
63、信息。</p><p> 點(diǎn)擊【供應(yīng)商信息】后,彈出供應(yīng)商信息查詢表單。表單包括供應(yīng)商信息查詢和供應(yīng)商信息管理兩部分。在查詢中可以通過(guò)全部供應(yīng)商編號(hào)或部分供應(yīng)商編號(hào)等查詢供應(yīng)商。供應(yīng)商管理中可以添加、刪除和修改供應(yīng)商的信息。</p><p> 點(diǎn)擊【供應(yīng)商】后,彈出供應(yīng)商信息查詢表單。表單包括供應(yīng)商信息查詢和供應(yīng)商信息管理兩部分。在查詢中可以通過(guò)全部供應(yīng)商編號(hào)或部分供應(yīng)商編號(hào)等查詢供應(yīng)
64、商。供應(yīng)商管理中可以添加、刪除和修改供應(yīng)商的信息。</p><p> 點(diǎn)擊【銷售模塊】工具欄,彈出【銷售登記】、【銷售退貨】、【銷售查詢】和【銷售退貨查詢】。</p><p> 點(diǎn)擊【銷售登記】后,彈出銷售登記表單。表單可輸入客戶的編號(hào)、客戶名稱、結(jié)算方式、經(jīng)手人、銷售日期、實(shí)收金額。并可以刪除和打印相關(guān)信息。推出時(shí)彈出是否推出和是否保存的對(duì)話框。點(diǎn)擊主界面的【銷售模塊】快捷按鈕后同樣
65、彈出銷售登記表單。</p><p> 點(diǎn)擊【銷售退貨】后彈出提示框:要進(jìn)行銷售退貨,必須選擇銷售票號(hào)。點(diǎn)擊【確定】后進(jìn)入銷售查詢表單。表單包括銷售查詢和銷售管理兩部分。在查詢中可以通過(guò)全部銷售票號(hào)或部分部銷售票號(hào)查詢。在銷售管理中可看到銷售查詢中查詢到的詳細(xì)信息。點(diǎn)擊【確定】后彈出銷售退貨表單。表單可輸入結(jié)算方式、經(jīng)手人、日期、實(shí)收金額。并可以刪除和打印相關(guān)信息。推出時(shí)彈出是否推出和是否保存的對(duì)話框。點(diǎn)擊主界面
66、的【銷售退貨】快捷按鈕后同樣彈出銷售查詢表單。</p><p> 點(diǎn)擊【銷售查詢】表單后彈出銷售查詢表單。表單包括銷售查詢和銷售管理兩部分。在查詢中可以通過(guò)全部銷售票號(hào)或部分部銷售票號(hào)查詢。在銷售管理中可看到銷售查詢中查詢到的詳細(xì)信息。點(diǎn)擊【確定】后彈出銷售退貨表單。表單可輸入結(jié)算方式、經(jīng)手人、日期、實(shí)收金額。并可以刪除和打印相關(guān)信息。推出時(shí)彈出是否推出和是否保存的對(duì)話框。</p><p&g
67、t; 點(diǎn)擊【銷售退貨查詢】后,彈出銷售退貨查詢表單。表單包括銷售退貨信息查詢和所選銷售退貨信息兩部分。在查詢中可以通過(guò)全部退貨票號(hào)或部分退貨票號(hào)等查詢。在所選銷售退貨信息中可以看到詳細(xì)信息。</p><p> 入庫(kù)模塊與銷售模塊功能類似,所以方法相同。</p><p> 點(diǎn)擊【調(diào)貨模塊】后,彈出【調(diào)貨登記】和【調(diào)貨查詢】</p><p> 點(diǎn)擊【調(diào)貨登記】后
68、,彈出調(diào)貨登記表單。表單中可以輸入日期、經(jīng)手人和備注。點(diǎn)擊刪除可以刪除相關(guān)的信息。單擊打印可以打印出相關(guān)信息。點(diǎn)擊主界面的【調(diào)貨登記】快捷按鈕后同樣彈出調(diào)貨登記表單。</p><p> 點(diǎn)擊【調(diào)貨查詢】后,彈出調(diào)貨信息表單。其功能與商品信息表單相似,所以方法相同。</p><p> 4.【庫(kù)存模塊】包括【庫(kù)存盤點(diǎn)】、【庫(kù)存查詢】和【倉(cāng)庫(kù)管理】三項(xiàng)。</p><p&g
69、t; 點(diǎn)擊【庫(kù)存盤點(diǎn)】后彈出庫(kù)存盤點(diǎn)表單。其中可以輸入日期經(jīng)手人。并可以刪除和打印相關(guān)的信息。</p><p> 點(diǎn)擊【庫(kù)存查詢】后彈出庫(kù)存查詢表單,其功能與商品查詢相似,所以方法相同。</p><p> 點(diǎn)擊【倉(cāng)庫(kù)管理】后彈出【倉(cāng)庫(kù)管理】表單。在其中可以添加、修改和刪除倉(cāng)庫(kù)名稱和倉(cāng)庫(kù)管理員。</p><p> 5.【結(jié)賬模塊】中包含有【銷售結(jié)賬】、【銷售退
70、貨結(jié)賬】、【入庫(kù)結(jié)賬】、【入庫(kù)退貨結(jié)賬】。</p><p> 點(diǎn)擊【銷售結(jié)賬】后彈出對(duì)話框:請(qǐng)選擇銷售票號(hào)。單擊【確定】后彈出銷售查詢對(duì)話框。</p><p> 點(diǎn)擊【銷售退貨結(jié)賬】后彈出對(duì)話框:請(qǐng)選擇銷售退貨票號(hào)。單擊【確定】后彈出銷售退貨查詢對(duì)話框。</p><p> 點(diǎn)擊【入庫(kù)結(jié)賬】后彈出對(duì)話框:請(qǐng)選擇入庫(kù)票號(hào)。單擊【確定】后彈出入庫(kù)查詢對(duì)話框。點(diǎn)擊主界
71、面的【入庫(kù)結(jié)賬】快捷按鈕后同樣彈出。</p><p> 點(diǎn)擊【入庫(kù)結(jié)賬】后彈出對(duì)話框:請(qǐng)選擇入庫(kù)票號(hào)。單擊【確定】后彈出入庫(kù)查詢對(duì)話框。點(diǎn)擊主界面的【入庫(kù)查詢】快捷按鈕后同樣彈出。</p><p> 6.【賬務(wù)模塊】中包含有【日結(jié)】、【月結(jié)】、【供應(yīng)商往來(lái)賬】、【客戶往來(lái)賬】四個(gè)部分。</p><p> 點(diǎn)擊【日結(jié)】后彈出日結(jié)表單。并單擊【打印】后可以打印出賬
72、目。</p><p> 點(diǎn)擊【月結(jié)】后彈出月結(jié)表單。并單擊【打印】后可以打印出賬目。</p><p> 點(diǎn)擊【供應(yīng)商往來(lái)賬】后彈出往來(lái)賬表單。表單中可以輸入供應(yīng)商標(biāo)號(hào)、供應(yīng)商名稱、從什么時(shí)間到什么時(shí)間,來(lái)實(shí)現(xiàn)查詢和打印。</p><p> 【客戶往來(lái)賬】的模塊與【供應(yīng)商往來(lái)賬】的模塊和功能相似,所以方法相同。</p><p> 7.【
73、系統(tǒng)管理】中包含了【修改用戶密碼】、【修改權(quán)限設(shè)置】、【修改用戶】和【數(shù)據(jù)備份】。</p><p> 點(diǎn)擊【修改用戶密碼】后彈出修改密碼對(duì)話框。其中可以輸入新的密碼然后在確認(rèn)輸入一次點(diǎn)擊【確定】后彈出對(duì)話框顯示修改成功。</p><p> 點(diǎn)擊【修改權(quán)限設(shè)置】后彈出修改權(quán)限表單。其中可以設(shè)置用戶的權(quán)限。權(quán)限的不同可以使用的模塊就不同。</p><p> 點(diǎn)擊【
74、修改用戶】后彈出修改用戶權(quán)限表單。在其中可以對(duì)用戶進(jìn)行添加刪除和修改。點(diǎn)擊用戶后點(diǎn)擊【修改】可以彈出修改權(quán)限表單。</p><p> 點(diǎn)擊【數(shù)據(jù)備份】中有【備份】和【恢復(fù)】?jī)身?xiàng)。</p><p> 點(diǎn)擊【備份】后彈出對(duì)話框提示:請(qǐng)選擇路徑和名稱。單擊確定后彈出另存為的對(duì)話框。然后選擇路徑保存。之后彈出:ok對(duì)話框。</p><p> 單擊【恢復(fù)】后彈出恢復(fù)數(shù)據(jù)
75、對(duì)話框。其中可以刪除所備份的數(shù)據(jù)。選擇備份數(shù)據(jù)號(hào)后單擊【確定】,彈出對(duì)話框:ok,單擊【確定】結(jié)束。</p><p> 8.在主表單中有【退出】按鈕。點(diǎn)擊后推出系統(tǒng)。</p><p><b> 第七章 結(jié)束語(yǔ)</b></p><p> 計(jì)算機(jī)技術(shù)在當(dāng)今乃至于未來(lái)生活中都具有重要的地位,這是我們所不能忽視的。不管自己家里是否購(gòu)買了電腦,每
76、個(gè)人都必須在這方面有所準(zhǔn)備。因?yàn)橛?jì)算機(jī)的普及使用是遲早的事情,一個(gè)企業(yè)的信息化程度同樣是衡量這個(gè)企業(yè)發(fā)展?jié)摿Φ臉?biāo)準(zhǔn)之一。能為企業(yè)開發(fā)出一個(gè)高效的管理平臺(tái),那將是一件非常光榮的事情。</p><p><b> 致謝</b></p><p> 本研究課題論文是在我的導(dǎo)師劉素珍老師的親切關(guān)懷和虛心指導(dǎo)下完成的。她嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地
77、感染和激勵(lì)著我。從課題的選擇倒項(xiàng)目的最終完成,劉老師都始終給予我細(xì)心的指導(dǎo)和不懈的支持。兩個(gè)多月來(lái),劉老師不僅在學(xué)業(yè)上給我精心的指導(dǎo),同時(shí)還在思想上給我以無(wú)微不至的關(guān)懷,在此謹(jǐn)向劉老師致以謝意個(gè)崇高的敬意。</p><p> 在此,我還要感謝在一起愉快地度過(guò)研究生活同門兄弟們,正是由于你們地幫助和支持,我才能克服一個(gè)又一個(gè)地困難和疑惑,直至本文的順利完成。</p><p> 在論文即將
78、完成之際,我的心情無(wú)法平靜,從開始選擇課題到論文順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無(wú)言的幫助,在這里請(qǐng)接受我最誠(chéng)摯的謝意!最后我還要感謝培養(yǎng)我長(zhǎng)大含辛茹苦的父母,謝謝你們!</p><p><b> 參考文獻(xiàn)</b></p><p><b> 附源碼</b></p><p><b> 源碼一:&
79、lt;/b></p><p> BOOL CA1App::InitInstance()</p><p><b> {</b></p><p> // CG : Initialize OLE libraries</p><p> if (!AfxOleInit())</p><p>&
80、lt;b> {</b></p><p> AfxMessageBox(_T("OLE initialization failed."));</p><p> return FALSE;</p><p><b> }</b></p><p> AfxEnableControl
81、Container();</p><p> // Standard initialization</p><p> // If you are not using these features and wish to reduce the size</p><p> // of your final executable, you should remove
82、 from the following</p><p> // the specific initialization routines you do not need.</p><p> #ifdef _AFXDLL</p><p> Enable3dControls();// Call this when using MFC in a shared
83、 DLL</p><p><b> #else</b></p><p> Enable3dControlsStatic();// Call this when linking to MFC statically</p><p><b> #endif</b></p><p> #ifdef
84、 _DEBUG</p><p> CMfxTrace::Init();</p><p><b> #endif</b></p><p> this->SetRegistryKey("超市管理系統(tǒng)");</p><p> WriteProfileInt("Settings&quo
85、t;, "x", 23);</p><p> WriteProfileInt("Settings", "y", 12);</p><p> WriteProfileInt("Settings", "cx", 32);</p><p> WriteProfileI
86、nt("Settings", "cy", 1233);</p><p> WriteProfileInt("Settings", "TraceWhere", 23);</p><p> if(LRunSql::InitConnectPtr()==false)//初始化COM環(huán)境,進(jìn)行數(shù)據(jù)庫(kù)連接</
87、p><p> return false;</p><p> pDocTemplate = new LSingleDocTemplate(</p><p> IDR_MENU_MYFRAME,</p><p> RUNTIME_CLASS(CScrollPrintDoc),</p><p> RUNTIME_CLA
88、SS(CMyFrame),// main SDI frame window</p><p> RUNTIME_CLASS(CScrollPrintView));</p><p> AddDocTemplate(pDocTemplate);</p><p> CMemoryState mem;</p><p> mem.Checkp
89、oint();</p><p> CDlgLogin dlg;//創(chuàng)建登錄窗口對(duì)象</p><p> if(dlg.DoModal()==IDOK)//顯示登錄窗口</p><p><b> {</b></p><p> CA1Dlg *pdlg=new CA1Dlg;//創(chuàng)建主窗口對(duì)象<
90、/p><p> m_pMainWnd = pdlg;</p><p> pdlg->DoModal();//顯示主窗口</p><p> delete pdlg;</p><p> pdlg=NULL;</p><p><b> }</b></p><p>
91、 mem.DumpAllObjectsSince();</p><p> LRunSql::Close();//斷開數(shù)據(jù)庫(kù)連接</p><p> // Since the dialog has been closed, return FALSE so that we exit the</p><p> // application, rather th
92、an start the application's message pump.</p><p> return FALSE;</p><p><b> }</b></p><p><b> 源碼二:</b></p><p> #include "DataYG.h"
93、;</p><p> #if !defined(AFX_TABYG_H__5A781F20_AD3E_43D9_A61B_5718F6158ADC__INCLUDED_)</p><p> #define AFX_TABYG_H__5A781F20_AD3E_43D9_A61B_5718F6158ADC__INCLUDED_</p><p> #if _MSC
94、_VER > 1000</p><p> #pragma once</p><p> #endif // _MSC_VER > 1000</p><p> #include "BaseTabCtrl1.h"</p><p> #include "DataYG.h"</p>
95、<p> class CTabYG : public CBaseTabCtrl </p><p><b> {</b></p><p><b> public:</b></p><p> CString ChanShengID();</p><p> CTabYG(int
96、e_n);</p><p> virtual ~CTabYG();</p><p> bool InitBaseInfo();</p><p> bool InitValues();</p><p> bool InitSelf();</p><p> bool InitList();</p>
97、<p> bool PrepareTables(CString &output, CString &input);</p><p> CString PrepareSQL();</p><p> bool SetValuesIntoEdits();</p><p> bool GetValuesFromEdits();</p&
98、gt;<p> void SetKey(int mark);</p><p> void SetTheBaseInfoFocus();</p><p> void SetTheFocus();</p><p> bool EnableBaseInfo(bool enabled);</p><p> int ShowBa
99、seInfo(int show);</p><p> enum{ID_YUANGONG_RQ=217};</p><p> CDateTimeCtrl m_rq;</p><p> CDataYG m_dataYg;</p><p> protected:</p><p> //{{AFX_MSG(CTabY
100、G)</p><p> afx_msg void OnSelchange(NMHDR* pNMHDR, LRESULT* pResult);</p><p> afx_msg void OnCancelClick();</p><p> afx_msg void OnXiuGaiClick();</p><p> afx_msg vo
101、id OnShanChuClick();</p><p> afx_msg void OnZengJiaClick();</p><p> afx_msg void OnBaoCunClick();</p><p> afx_msg void OnChaXun();</p><p> //}}AFX_MSG</p>&l
102、t;p> DECLARE_MESSAGE_MAP()</p><p><b> };</b></p><p> #endif // !defined(AFX_TABYG_H__5A781F20_AD3E_43D9_A61B_5718F6158ADC__INCLUDED_)</p><p><b> 源碼三:</b&
103、gt;</p><p> #if !defined(AFX_PREVIEW_H__03894546_1C39_11D4_B336_00104B13D514__INCLUDED_)</p><p> #define AFX_PREVIEW_H__03894546_1C39_11D4_B336_00104B13D514__INCLUDED_</p><p> #i
104、f _MSC_VER >= 1000</p><p> #pragma once</p><p> #endif // _MSC_VER >= 1000</p><p> // PreView.h : header file</p><p><b> //</b></p><p&g
105、t; /////////////////////////////////////////////////////////////////////////////</p><p> // CPreView view</p><p> #include "afxpriv.h"</p><p> class CMyView;</p>
106、<p> class CPreView : public CScrollView</p><p><b> {</b></p><p> DECLARE_DYNCREATE(CPreView)</p><p> protected:</p><p> CPreView(); /
107、/ protected constructor used by dynamic creation</p><p> // Attributes</p><p><b> public:</b></p><p> CMyView* m_pOrigView;</p><p> CMyView* m_pPrintVie
108、w;</p><p> CPreviewDC * m_pPreviewDC; // Output and attrib DCs Set, not created</p><p> CDC m_dcPrint; // Actual printer DC</p><p> // Operations</p><p>
109、; // Returns TRUE if in a page rect. Returns the page index</p><p> // in nPage and the point converted to 1:1 screen device coordinates</p><p> // Returns .cx/.cy as the numerator/denominato
110、r pair for the ratio</p><p> // using CSize for convenience</p><p> // Operations</p><p> protected:</p><p> virtual void OnPrepareDC(CDC* pDC, CPrintInfo* pInfo =
111、NULL);</p><p> void SetCurrentPage(int nPage);</p><p> void RefreshPreview();</p><p> bool FindPageRect(CPoint& point, int & row,int & column);</p><p>
112、void BeginRowColumn(int rows,int columns);</p><p> void BeginScale(int scale);</p><p> void SetPagePosition();</p><p> int GetPageNumber(int row,int column);</p><p>
113、 BOOL SetPrintView(CMyView* pPrintView);</p><p> void SetScale(int scale);</p><p> void ClosePreview();</p><p> // Overrides</p><p> // ClassWizard generated virtu
114、al function overrides</p><p> //{{AFX_VIRTUAL(CPreView)</p><p><b> public:</b></p><p> virtual void OnDraw(CDC* pDC); // overridden to draw this view</p><
115、p> protected:</p><p> virtual void OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView);</p><p> virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);&
116、lt;/p><p> //}}AFX_VIRTUAL</p><p> CPrintPreviewState* m_pPreviewState; // State to restore</p><p> CDialogBar* m_pToolBar; // Toolbar for preview</p><p> // been disp
117、layed on status line</p><p> int m_nCurrentPage;</p><p> CPrintInfo* m_pPreviewInfo;</p><p> //---------------------------------------------------------------------</p>&
118、lt;p> //我對(duì)這個(gè)類的修改:</p><p> //當(dāng)前最大的第一顯示頁(yè)</p><p> intm_iMaxCurPage;</p><p><b> //數(shù)據(jù)變量</b></p><p> intm_nUserRows;</p><p> intm_n
119、UserColumns;</p><p><b> //行數(shù)</b></p><p> intm_nRows;</p><p> intm_nMaxRows;</p><p><b> //列數(shù)</b></p><p> intm_nColumns
120、;</p><p> intm_nMaxColumns;</p><p><b> //頁(yè)面實(shí)際大小</b></p><p> CSizem_sizePhysicalPage;</p><p><b> //頁(yè)面顯示大小</b></p><p> CSiz
121、em_sizeShowPage;</p><p> //Physical/Show顯示比例;10<,,<500計(jì)算時(shí)要除以100;</p><p> intm_iScale;</p><p><b> //頁(yè)間距/2</b></p><p> intm_iSpaceBetweenl2
122、;</p><p><b> //區(qū)域變量</b></p><p> //預(yù)覽窗口顯示頁(yè)的大的區(qū)域包括邊距,GetClientRect()也行,但考慮到有可能向客戶區(qū)放控件,會(huì)影響客戶區(qū)的大小;</p><p> CRectm_rectClient;</p><p> //顯示當(dāng)前屏的所有頁(yè)的區(qū)域</p
123、><p> CRectm_rectShowPages;</p><p> //每頁(yè)所占的空間,包括1/2頁(yè)間距,包括邊框,及周圍的空間,主要用來(lái)確定空間</p><p> CRectm_rectPage;</p><p> //每頁(yè)的實(shí)際內(nèi)容的真實(shí)反映,提供給OnPrint的區(qū)域,這里只記錄第一頁(yè)的區(qū)域</p>&l
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文-超市進(jìn)存銷管理系統(tǒng)
- 畢業(yè)論文-超市進(jìn)存銷管理系統(tǒng)
- “商品的進(jìn)、銷、存系統(tǒng)的網(wǎng)站設(shè)計(jì)”畢業(yè)論文
- 超市進(jìn)銷存管理系統(tǒng)畢業(yè)論文
- 超市進(jìn)銷存管理系統(tǒng)畢業(yè)論文
- 倉(cāng)庫(kù)進(jìn)存銷管理系統(tǒng) 畢業(yè)設(shè)計(jì)
- 倉(cāng)庫(kù)進(jìn)存銷管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于java的超市進(jìn)銷存管理系統(tǒng)畢業(yè)論文
- 超市管理系統(tǒng)畢業(yè)論文
- 超市管理系統(tǒng)畢業(yè)論文
- 超市管理系統(tǒng)-畢業(yè)論文
- 超市管理系統(tǒng)畢業(yè)論文
- 超市管理系統(tǒng)畢業(yè)論文
- 超市管理系統(tǒng)畢業(yè)論文
- 超市管理系統(tǒng)——畢業(yè)論文
- 本科小型超市進(jìn)、銷、存信息系統(tǒng)分析報(bào)告
- 超市進(jìn)銷存管理系統(tǒng)設(shè)計(jì)與開發(fā)的畢業(yè)論文
- 超市管理系統(tǒng)畢業(yè)論文 (3)
- 超市管理系統(tǒng)畢業(yè)論文 (2)
- 超市管理系統(tǒng)設(shè)計(jì)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論