版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、-1-進(jìn)銷存管理系統(tǒng)學(xué) 院專 業(yè)班 級學(xué) 號姓 名指導(dǎo)教師教師職稱年月日 吉林省明日科技有限公司監(jiān)制 2 目錄進(jìn)銷存管理系統(tǒng)目錄摘要0 引言1 系統(tǒng)需求分析2 總體設(shè)計(jì)1 項(xiàng)目規(guī)劃2 系統(tǒng)功能結(jié)構(gòu)3 設(shè)計(jì)目標(biāo)3 系統(tǒng)設(shè)計(jì)1 開發(fā)及運(yùn)行環(huán)境2 數(shù)據(jù)庫設(shè)計(jì)4 功能模塊設(shè)計(jì)1 主窗口設(shè)計(jì)2 系統(tǒng)登錄管理3 商品銷售管理4 商品入庫管理5 調(diào)貨登記管理6 權(quán)限設(shè)置管理附錄 A 參考文獻(xiàn)附錄 B 數(shù)據(jù)表摘要【摘要】隨著國家的政治經(jīng)濟(jì)政策的優(yōu)化改革,使得國內(nèi)中小企業(yè)得以蓬勃發(fā)展??墒请S著企業(yè)的發(fā)展,客戶數(shù)量的的為斷增多,財(cái)務(wù)工作繁雜化,庫存產(chǎn)品零亂等一系列問題也接踵而至,給企業(yè)經(jīng)營者運(yùn)作帶來了很大的困擾。
2、信息技術(shù)的迅猛發(fā)展,科學(xué)經(jīng)營管理觀念的迅速傳播,使中小企業(yè)經(jīng)營者逐漸認(rèn)識到轉(zhuǎn)變企業(yè)經(jīng)營管理理念,改善企業(yè)經(jīng)營管理模式是企業(yè)適應(yīng)時(shí)代的發(fā)展急需解決的問題?,F(xiàn)代管理,應(yīng)該建立在真實(shí)、有效的數(shù)據(jù)信息基礎(chǔ)之上,應(yīng)該是一種科學(xué)的、理性的管理體制,而這種管理與經(jīng)營的聯(lián)系與互助,又必須依賴于計(jì)算機(jī)的強(qiáng)大的數(shù)據(jù)統(tǒng)計(jì)功能,計(jì)算機(jī)管理系統(tǒng)便是實(shí)際的企業(yè)進(jìn)銷問題與計(jì)算機(jī)強(qiáng)大數(shù)據(jù)統(tǒng)計(jì)功能相結(jié)合的產(chǎn)物。管理系統(tǒng)解決的了商業(yè)企業(yè)商品的進(jìn)、銷、存、退、換、盤、損、殘、調(diào)、借、贈等一系列操作流程中的數(shù)據(jù)信息的處理問題,提供一系列的數(shù)據(jù)分析,幫助經(jīng)營者合理的調(diào)整各個(gè)經(jīng)營運(yùn)作環(huán)節(jié)的運(yùn)作節(jié)奏,并對商品流轉(zhuǎn)過程進(jìn)行了全程跟蹤管理、相
3、應(yīng)款項(xiàng)流通的全程記錄管理和票據(jù)信息統(tǒng)計(jì)的管理。因此進(jìn)銷存管理系統(tǒng)的全面應(yīng)用,規(guī)范業(yè)務(wù)流程、提高了企業(yè)的管理水平,提高資金流動的透明度,加快商品資金周轉(zhuǎn)速度,進(jìn)而全面提高了企業(yè)的經(jīng)營水平、進(jìn)而全面提升了企業(yè)的經(jīng)濟(jì)效益?!娟P(guān)鍵詞】進(jìn)銷存管理系統(tǒng) 吉林省明日科技有限公司監(jiān)制0 引言企業(yè)經(jīng)營如逆水行舟不進(jìn)則退。每一個(gè)努力發(fā)展的企業(yè)都明白,先進(jìn)管理的重要作用,引進(jìn)先進(jìn)管理系統(tǒng)使企業(yè)經(jīng)營變得規(guī)范、合理。進(jìn)銷存管理系統(tǒng)無論是在功能設(shè)計(jì)還是業(yè)務(wù)流程上都盡可能做到滿足經(jīng)營管理運(yùn)作流程的需求,并且操作方便、功能強(qiáng)大,即使操作者對計(jì)算機(jī)知識一竅不通也能一用就會。它強(qiáng)化庫存管理,規(guī)范業(yè)務(wù)流程,提高資金管理的透明度,加
4、快商品資金周轉(zhuǎn),是企業(yè)經(jīng)營管理中數(shù)據(jù)分析中必不可少的管理工具。1 系統(tǒng)需求分析根據(jù)市場的需求,要求系統(tǒng)具有以下功能:實(shí)現(xiàn)商品入庫、入庫退貨操作。實(shí)現(xiàn)商品銷售、銷售退貨操作。實(shí)現(xiàn)庫存管理(調(diào)貨、盤點(diǎn))操作。實(shí)現(xiàn)信息的查詢、打印功能。準(zhǔn)確地進(jìn)行賬款記錄、賬款查詢。2 總體設(shè)計(jì)2.1 項(xiàng)目規(guī)劃根據(jù)需求分析,設(shè)計(jì)系統(tǒng)框架。進(jìn)銷存管理系統(tǒng)由等 8 部分組成。設(shè)計(jì)各部分具體功能如下:基礎(chǔ)信息模塊基礎(chǔ)信息模塊包括藥品信息、員工信息、供應(yīng)商信息和客戶信息 4 部分。銷售模塊銷售模塊由銷售登記、銷售退貨、銷售查詢、銷售退貨查詢 4 部分。入庫模塊入庫模塊主要由入庫登記、入庫退貨、入庫查詢、入庫退貨查詢 4 組成
5、。調(diào)貨模塊調(diào)貨模塊包含調(diào)貨登記和調(diào)貨查詢兩部分。庫存模塊庫存模塊由庫存盤點(diǎn)、庫存查詢、倉庫管理 3 部分組成。結(jié)賬模塊結(jié)賬模塊主要包括銷售結(jié)賬、銷售退貨結(jié)賬、入庫結(jié)賬、入庫退貨結(jié)賬。財(cái)務(wù)模塊財(cái)務(wù)模塊由日結(jié)、月結(jié)、供應(yīng)商往來賬、客戶往來賬 4 部分組成。系統(tǒng)管理模塊系統(tǒng)管理模塊由修改用戶密碼、修改用戶權(quán)限、修改用戶 3 部分組成。 吉林省明日科技有限公司監(jiān)制 2 2.2 系統(tǒng)功能結(jié)構(gòu)進(jìn)銷存管理系統(tǒng)的功能結(jié)構(gòu)如圖 1 所示?;A(chǔ)信息進(jìn)銷存管理系統(tǒng)銷售模塊入庫模塊藥 品 信 息員 工 信 息入 庫 登 記入 庫 退 貨銷 售 登 記銷 售 退 貨銷 售 查 詢銷 售 退 貨 查 詢調(diào) 貨 登 記調(diào)
6、貨 查 詢庫 存 盤 點(diǎn)庫 存 查 詢倉 庫 管 理調(diào)貨模塊庫存模塊供 應(yīng) 商 信 息客 戶 信 息入 庫 查 詢?nèi)?庫 退 貨 查 詢結(jié)賬模塊銷 售 結(jié) 賬銷 售 退 貨 結(jié) 賬入 庫 結(jié) 賬入 庫 退 貨 結(jié) 賬財(cái)務(wù)模塊日 結(jié)月 結(jié)供 應(yīng) 商 往 來 賬客 戶 往 來 賬系統(tǒng)管理模塊修 改 用 戶 密 碼修 改 用 戶 權(quán) 限修 改 用 戶圖 1 進(jìn)銷存管理系統(tǒng)功能架構(gòu)圖3 設(shè)計(jì)目標(biāo)本系統(tǒng)是根據(jù)中小企業(yè)的實(shí)際需求而開發(fā)的,完全能夠?qū)崿F(xiàn)商品入庫、銷售管理,通過本系統(tǒng)可以達(dá)到以下目標(biāo):系統(tǒng)運(yùn)行穩(wěn)定,安全可靠。界面設(shè)計(jì)美觀,人機(jī)交互界面友好。信息查詢靈活、方便、快捷、準(zhǔn)確,數(shù)據(jù)存儲安全可靠。強(qiáng)大
7、的報(bào)表預(yù)覽、打印功能。信息安全保密。3 系統(tǒng)設(shè)計(jì)3.1 開發(fā)及運(yùn)行環(huán)境1硬件要求CPU:300MHz 以上的處理器。內(nèi)存:128MB,推薦 256MB。硬盤:150MB 以上剩余空間。 吉林省明日科技有限公司監(jiān)制 3 顯示像素:最低 800*600,最佳效果 1024*768。2軟件要求操作系統(tǒng):Windows2000/NT/XP/CE。數(shù)據(jù)庫:SQL Server2000。3.2 數(shù)據(jù)庫設(shè)計(jì)1數(shù)據(jù)庫概要說明本系統(tǒng)采用 SQL Server 2000 數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名為 ypgl,中共包含 46 個(gè)表,其中作為臨時(shí)表的有 20 個(gè),作為數(shù)據(jù)存儲表的有 26 個(gè)。臨時(shí)表:lsdhinfo0、
8、lsdhinfo1、lsgys0、lsgys1、lskcquery0、lskcquery1、lskh0、lskh1、lsrkquery0、lsrkquery1、lsrkthinfo0、lsrkthinfo1、lsxsquery0、lsxsquery1、lsxsthinfo0、lsxsthinfo1、lsyg0、lsyg1、lsypinfo0、lsypinfo1。數(shù)據(jù)存儲表:tabbf、tabck、tabdhdj、tabdhph、tabgys、tabjsfs、tabkc、tabkcpddj、tabkcpdph、tabkh、tabpurview、tabpurviewctrl、tabrkdj、tab
9、rkjz、tabrkph、tabrkthdj、tabrkthjz、tabrkthph、tabxsdj、tabxsjz、tabxsph、tabxsthdj、tabxsthjz、tabxsthph、tabyginfo、tabypinfo。圖 2 所示的即為本系統(tǒng)中數(shù)據(jù)庫的數(shù)據(jù)表結(jié)構(gòu)圖,該數(shù)據(jù)表結(jié)構(gòu)圖包含系統(tǒng)所有數(shù)據(jù)表。可以清晰地反應(yīng)數(shù)據(jù)庫信息。 吉林省明日科技有限公司監(jiān)制 4 圖 2 數(shù)據(jù)庫概要說明2主要數(shù)據(jù)表的結(jié)構(gòu)數(shù)據(jù)庫中的數(shù)據(jù)表請參見附錄 B。4 功能模塊設(shè)計(jì)4.1 主窗口設(shè)計(jì)進(jìn)銷存管理系統(tǒng)主窗口由菜單、工具欄、客戶區(qū)域和狀態(tài)欄四部分組成,效果如圖 3 所示。 吉林省明日科技有限公司監(jiān)制 5
10、圖 3 進(jìn)銷存管理系統(tǒng)主窗口1菜單設(shè)計(jì)(1)在工具欄中單擊按鈕,或者從菜單中選擇“View”/“Workspace”項(xiàng),這時(shí)會彈出如圖 4 所示的工作區(qū)窗口(Workspace 窗口) 。在工作區(qū)窗口中,能看到該程序所使用的資源,且每種資源都有一個(gè)資源符號,主窗體也使用了一個(gè)資源符號 IDD_A1_DIALOG,這是 VC 缺省提供的??梢栽谶@里添加或者刪除各種資源。圖 4 Workspace 窗口(2)在工作區(qū)窗口(Workspace 窗口)右鍵單擊“a1 resources”選項(xiàng),在彈出菜單中選擇“Insert.”選項(xiàng),將彈出“Insert Resource”對話框。在該對話框中選擇“Me
11、nu”選項(xiàng),然后單擊“New”按鈕,將生成如圖 5 所示的菜單資源。 吉林省明日科技有限公司監(jiān)制 6 圖 5 編輯菜單資源(3)右鍵雙擊菜單資源編輯器的虛線空白框,在彈出的菜單中選擇“Properties”選項(xiàng),將彈出“Menu Item Properties”對話框,在“Menu Item Properties”對話框的“caption”(標(biāo)題)編輯框中鍵入:“基礎(chǔ)信息(&I) ” (符號&可以使字母 I 有一個(gè)下劃線,而且可以通過“Alt+I”訪問該菜單項(xiàng)。此時(shí)關(guān)閉“Menu Item Properties”對話框,將在菜單編輯器中生成主菜單“基礎(chǔ)信息” 。雙擊“基礎(chǔ)信息”
12、菜單下的虛線空白框,在彈出的“Menu Item Properties”對話框中設(shè)計(jì)“藥品信息(&M) ” 、 “員工信息(&Y) ”等菜單項(xiàng)。(4)同上,可以設(shè)計(jì)其他主菜單及菜單項(xiàng)。最后得到如圖 6 所示的菜單界面。圖 6 菜單界面2工具欄設(shè)計(jì)在應(yīng)用程序中要經(jīng)常使用工具欄,它是最常用的界面元素,對應(yīng)著應(yīng)用程序的最常用功能。主窗口共有 9 個(gè)工具欄按鈕,分別是“銷售登記” 、 “銷售退貨” 、 “銷售結(jié)賬” 、 “入庫登記” 、“入庫退貨” 、 “入庫結(jié)賬” 、 “調(diào)貨登記” 、 “庫存登記” 、 “退出”工具欄按鈕。創(chuàng)建工具欄可使用 MFC 類庫中的 CToolBarCtrl
13、 類,該類用來生成工具條。本系統(tǒng)主窗體的工具欄將引用 MSDN提供的類 CStandardBar,該類派生自 CToolBarCtrl。操作步驟如下:(1)從基類 CToolBarCtrl 中派生需要的類 CstandardBar。選擇“Insert”/“New Class.”菜單項(xiàng),在彈出來的“New Class”對話框中設(shè)置“Class Type”為“MFC Class” ,在“Class Infomation”中的 Name 編輯框中鍵入“CstandardBar” ,然后在“Base Class”下拉列表框中選擇“CtoolBarCtrl” ,最后單擊“OK”按鈕。(2)需要 9 個(gè)按
14、鈕,每個(gè)按鈕有相應(yīng)的文本和圖片。所以,需要添加如圖 7 所示的圖片資源,資源長為 288 像素,高為 32 像素,資源符號為:IDR_STANDARDBAR。 吉林省明日科技有限公司監(jiān)制 7 圖 7 圖片資源(3)添加字符串資源(String Table) ,如表 1 所示。表 1 字符串資源資源符號值字符串資源IDSTR_XSDJ102銷售登記IDSTR_XSTH103銷售退貨IDSTR_XSJZ 104銷售結(jié)賬IDSTR_RKDJ105入庫登記IDSTR_RKTH106入庫退貨IDSTR_RKJZ107入庫結(jié)賬IDSTR_DHDJ108調(diào)貨登記IDSTR_KCPD109庫存盤點(diǎn)IDSTR_
15、OUT110退出(4)程序中引入資源,創(chuàng)建工具欄按鈕。創(chuàng)建工具欄按鈕需要重寫 Create 函數(shù),該函數(shù)創(chuàng)建工具欄的步驟如下: 先創(chuàng)建工具欄窗口,然后為工具欄類添加圖片資源。相關(guān)函數(shù)是:SetBitmapSize(CSize(32,32); /設(shè)置單個(gè)位圖的大小VERIFY(AddBitmap(m_nButtonCount,IDR_STANDARDBAR) != -1); /添加位圖m_nButtonCount 是指按鈕圖片的個(gè)數(shù),IDR_STANDARDBAR 對應(yīng)著相應(yīng)的圖片。 創(chuàng)建相應(yīng)數(shù)量的按鈕,并為每個(gè)按鈕分配相應(yīng)圖片資源和文本資源,設(shè)置相關(guān)屬性。m_pTBButtons = new
16、TBBUTTONm_nButtonCount; /用來加入到工具欄里的按鈕m_pTBButtonsnIndex.iString = AddStrings(pString);m_pTBButtonsnIndex.fsState = TBSTATE_ENABLED;m_pTBButtonsnIndex.fsStyle = TBSTYLE_BUTTON;m_pTBButtonsnIndex.dwData = 0;m_pTBButtonsnIndex.iBitmap = nIndex; /控制按鈕的相關(guān)圖片m_pTBButtonsnIndex.idCommand = nIndex + IDSTR_XS
17、DJ; /用于命令消息傳遞在步驟中,要注意如下事項(xiàng): AddStrings(pString)返回一個(gè)字符串的基于 0 的編號,該值用來連接字符串到按鈕上,其中的字符串參數(shù) pString 需要兩個(gè)結(jié)束符來表示結(jié)尾,必須將字符串寫成如下形式:pString= Only one string to add0;CString 類不能提供這樣的功能,因?yàn)椴豢赡茉?CString 中保存超過一個(gè)結(jié)束符的字符串。所以,將 CString 中的字符串取出,以 char 定義的字符串保存,再對該字符串添加一個(gè)結(jié)束符,做法如下:CString string;string.LoadString(nIndex +
18、IDSTR_XSDJ); /裝載字符串資源/取得字符串的長度為了添加一個(gè)結(jié)束符,給長度加1 吉林省明日科技有限公司監(jiān)制 8 int nStringLength = string.GetLength() + 1;TCHAR * pString = string.GetBufferSetLength(nStringLength); /按增加后的長度返回字符串pStringnStringLength = 0;函數(shù) GetBufferSetLength 的過程分配了 nStringLength+1 長度的內(nèi)存空間,并在加上結(jié)束符0之后,復(fù)制原字符串到這個(gè)新的內(nèi)存空間中,同時(shí)將原字符串的結(jié)束符也復(fù)制到新
19、的位置,于是,該函數(shù)結(jié)束后,字符串 pString 已經(jīng)有兩個(gè)結(jié)束符了,最后一個(gè)語句略顯多余或不足。但為了保證該字符串確實(shí)有兩個(gè)結(jié)束符,不能省略這兩個(gè)結(jié)束符。pStringnStringLength = 0;pStringnStringLength-1 = 0; fsState 確定按鈕的狀態(tài),fsStyle 確定按鈕的風(fēng)格。若給 fsStyle 賦值 TBSTYLE_SEP,則該按鈕表現(xiàn)為一個(gè)間隔。dwData 可以是用戶自定義的數(shù)據(jù),可以將一個(gè)指針或句柄傳遞給它,可以在某些消息響應(yīng)函數(shù)中使用。iBitmap 是表示基于 0 的圖像列表的編號。 idCommand 為與按鈕連接的命令標(biāo)識,當(dāng)
20、這個(gè)按鈕被按下時(shí),這個(gè)值將被放到WM_COMMAND 中發(fā)送到父窗體。如果 fsStyle 被設(shè)置為 TBSTYLE_SEP,該值必須為 0。用 Create 函數(shù)創(chuàng)建工具欄的代碼如下:BOOL CStandardBar:Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );BOOL bRet = CToolBarCtrl:Create(dwStyle, rect, pParentWnd, nID); /記錄基類的返回值m_nButtonCount = IDSTR_OUT - IDSTR_XSDJ +
21、1;SetBitmapSize(CSize(32,32); /設(shè)置單個(gè)位圖的大小VERIFY(AddBitmap(m_nButtonCount,IDR_STANDARDBAR) != -1); /添加位圖m_pTBButtons = new TBBUTTONm_nButtonCount; /用來加入到工具欄里的按鈕for (int nIndex = 0; nIndex m_nButtonCount; nIndex+) /循環(huán)設(shè)定按鈕屬性CString string;string.LoadString(nIndex + IDSTR_XSDJ); /裝載字符串資源/為每一個(gè)字符串再加一個(gè)0,用于向
22、工具欄里加字符串 int nStringLength = string.GetLength() + 1; TCHAR * pString = string.GetBufferSetLength(nStringLength);pStringnStringLength = 0;pStringnStringLength-1 = 0;VERIFY(m_pTBButtonsnIndex.iString = AddStrings(pString) != -1); /返回字符串的編號 string.ReleaseBuffer();m_pTBButtonsnIndex.fsState = TBSTATE_EN
23、ABLED;m_pTBButtonsnIndex.fsStyle = TBSTYLE_BUTTON;m_pTBButtonsnIndex.dwData = 0;m_pTBButtonsnIndex.iBitmap = nIndex; /控制按鈕的相關(guān)圖片m_pTBButtonsnIndex.idCommand = nIndex + IDSTR_XSDJ; /用于命令消息傳遞m_pTBButtonsm_nButtonCount-1.idCommand=IDOK; /用來響應(yīng)退出消息 吉林省明日科技有限公司監(jiān)制 9 TBBUTTON sepButton; /用于分隔的按鈕sepButton.idC
24、ommand = 0;sepButton.fsStyle = TBSTYLE_SEP;sepButton.fsState = TBSTATE_ENABLED;sepButton.iString = 0;sepButton.iBitmap = 0;sepButton.dwData = 0;for (nIndex = 0; nIndex m_sUserName); 訪問資源字符串。先在“Workspace”中的“Resource View”選項(xiàng)中建立字符串資源,定義符號IDS_COMPANY,對應(yīng)資源為“明日騰龍科技有限責(zé)任公司() ” 。在程序中使用如下代碼:CString str;str.Lo
25、adString(IDS_COMPANY);str 保存相應(yīng)的字符串資源。 將訪問時(shí)間轉(zhuǎn)化為字符串。CTime t=CTime:GetCurrentTime();CString s=t.Format(%H:%M:%S); s=當(dāng)前系統(tǒng)時(shí)間:+s; s 會顯示為“當(dāng)前系統(tǒng)時(shí)間:20:09:25”形式的字符串。 OnTimer 消息響應(yīng)函數(shù)。為實(shí)現(xiàn)每隔 1 秒刷新一次狀態(tài)欄的顯示內(nèi)容,可以使用 WM_TIMER 的消息響應(yīng)函數(shù)OnTimer。要創(chuàng)建主窗體的 OnTimer 函數(shù),首先在“Workspace”工作區(qū)“Class View”選項(xiàng)卡中右鍵單擊“CA1Dlg”選項(xiàng),在彈出菜單中選擇“Add
26、 Windows Message Handle.”菜單項(xiàng),將彈出“New Windows Message and event handles for class CAIDlg”對話框。在該對話框中,可以選擇要進(jìn)行處理的消息句柄,并為其添加消息響應(yīng)函數(shù)。步驟是從左邊的列表框中雙擊“WM_TIMER” ,將其添加到右上邊的列表框中,雙擊該列表框中的“WM_TIMER”項(xiàng),可以 吉林省明日科技有限公司監(jiān)制 11 看到 VC+創(chuàng)建的函數(shù) OnTimer,可以設(shè)置這個(gè)函數(shù)每隔一定的時(shí)間響應(yīng)一次。函數(shù) SetTimer 來設(shè)置 OnTimer 的消息響應(yīng)頻率。UINT SetTimer( UINT nID
27、Event, UINT nElapse, void (CALLBACK EXPORT* lpfnTimer)(HWND, UINT, UINT, DWORD) );參數(shù)說明:nIDEvent:用來標(biāo)識是哪一個(gè) Timer 事件。nElapse:設(shè)置該 Timer 事件每隔多長時(shí)間發(fā)生一次,單位:毫秒。lpfnTimer:設(shè)置回調(diào)函數(shù),用來響應(yīng)事件的發(fā)生,相當(dāng)于 OnTimer 函數(shù)。如果將其設(shè)為NULL,那么,WM_TIMER 事件由窗口類來處理,即由 OnTimer 函數(shù)處理。在本程序中,設(shè)定 OnTimer 函數(shù) 1000 毫秒響應(yīng)一次。SetTimer(12,1000,NULL);狀態(tài)欄
28、類 CStatusBarCtrl 的使用。CRect rect;this-GetClientRect(&rect);int indicators3;indicators0=rect.Width()/2;indicators1=rect.Width()*3/4;indicators2=rect.Width();m_StatusBarCtrl.SetParts(3,indicators);以上代碼用來初始化狀態(tài)欄,函數(shù) SetParts 用來設(shè)定該狀態(tài)欄由幾個(gè)面板組成,每個(gè)面板的寬度。實(shí)際上,該函數(shù)用整型數(shù)組作參數(shù),數(shù)組元素的值代表面板的寬度。函數(shù) SetText 用來設(shè)定每個(gè)面板上顯示的
29、數(shù)據(jù),代碼如下:lBOOL SetText( LPCTSTR lpszText, int nPane, int nType );參數(shù)說明:lpszText:是該面板的字符串。nPane:是面板編號(基于 0) 。nType:是面板風(fēng)格,該參數(shù)一般為 0。(2)創(chuàng)建狀態(tài)欄。創(chuàng)建狀態(tài)欄的操作步驟如下:在 CA1Dlg 的聲明中定義 CStatusBarCtrl 的對象:CStatusBarCtrl*m_StatusBarCtrl。在 CA1Dlg 的初始化函數(shù)中初始化狀態(tài)欄對象,代碼如下:BOOL CA1Dlg:OnInitDialog()CDialog:OnInitDialog();SetIco
30、n(m_hIcon, TRUE);/Set big iconSetIcon(m_hIcon, FALSE);/Set small icon/取得系統(tǒng)時(shí)間CTime t=CTime:GetCurrentTime();CString s=t.Format(%H:%M:%S);s=當(dāng)前系統(tǒng)時(shí)間:+s; 吉林省明日科技有限公司監(jiān)制 12 /為狀態(tài)欄創(chuàng)建窗體CRect rect;this-GetClientRect(&rect);m_StatusBarCtrl.Create(WS_CHILD|WS_VISIBLE|CCS_BOTTOM,rect,this,ID_STATUS_BAR_CTRL);
31、/設(shè)置狀態(tài)欄的顯示區(qū)間數(shù),及相應(yīng)寬度int indicators3;indicators0=rect.Width()/2;indicators1=rect.Width()*3/4;indicators2=rect.Width(); m_StatusBarCtrl.SetParts(3,indicators);/顯示各區(qū)間文本str.LoadString(IDS_COMPANY);m_StatusBarCtrl.SetText(str,0,0); CA1App * app=( CA1App *):AfxGetApp(); m_StatusBarCtrl.SetText(當(dāng)前操作員:+app-m_
32、sUserName,1,0);m_StatusBarCtrl.SetText(s,2,0);/令CA1Dlg每一秒鐘觸發(fā)一次OnTimer事件,修改系統(tǒng)時(shí)間 this-SetTimer(12,1000,NULL);return TRUE; /return TRUE unless you set the focus to a control處理 WM_TIMER 消息的消息響應(yīng)函數(shù) OnTimer,代碼如下:void CA1Dlg:OnTimer(UINT nIDEvent) CTime t=CTime:GetCurrentTime();CString s=t.Format(%H:%M:%S);
33、s=當(dāng)前系統(tǒng)時(shí)間:+s;this-m_StatusBarCtrl.SetText(s,2,0);CDialog:OnTimer(nIDEvent);5客戶區(qū)設(shè)計(jì)一個(gè)優(yōu)秀的商業(yè)管理系統(tǒng),不但要有實(shí)用的功能,還要有漂亮友好的界面。在本例中,設(shè)置窗體背景只需加入一個(gè) Bitmap 資源,運(yùn)行效果如圖 3.3 所示,其操作步驟如下:(1)在資源對話框上放一個(gè) Picture 控件。(2)然后加入一個(gè)需要的 Bitmap 資源,如果圖片包含的顏色超過 256 種,那么它會提示該圖片不能在資源編輯器里編輯,不用管它,除非真的想編輯它,加進(jìn)來的圖片的資源符號缺省為 IDB_BITMAP1。(3)設(shè)置 Pic
34、ture 控件屬性類型為 Bitmap,圖像為 IDB_BITMAP1。 吉林省明日科技有限公司監(jiān)制 13 4.2 系統(tǒng)登錄管理1實(shí)現(xiàn)目標(biāo)程序啟動后,首先進(jìn)入系統(tǒng)登錄程序驗(yàn)證用戶密碼。系統(tǒng)登錄程序主要實(shí)現(xiàn)如下功能。輸入密碼的控件采用文本框。密碼如果輸入正確,取得用戶權(quán)限并進(jìn)入系統(tǒng),否則,將提示錯(cuò)誤,并返回密碼輸入框。記錄錯(cuò)誤次數(shù),錄入密碼錯(cuò)誤 3 次將自動退出系統(tǒng)。用戶按下Enter鍵,控制焦點(diǎn)的移動。系統(tǒng)登錄程序運(yùn)行結(jié)果如圖 8 所示。圖 8 系統(tǒng)登錄窗口2設(shè)計(jì)步驟(1)增加對話框資源,設(shè)計(jì)窗體資源符號為 IDD_DIALOG_LOGIN。(2)為該窗口連接相關(guān)的類,在資源對話框上右鍵單擊,
35、選擇“ClassWizard.”選項(xiàng),會彈出“Add a class”對話框,提示 IDD_DIALOG_LOGIN 是一個(gè)新的資源,需要為這個(gè)資源創(chuàng)建一個(gè)類,或?yàn)樗B接一個(gè)現(xiàn)有類。在此,選擇新建一個(gè)派生于 CDialog 的類來連接該資源,該類命名為 CDlgLogin。(3)向窗口中添加圖片、編輯框、靜態(tài)文本、按鈕等資源,設(shè)置主要資源屬性,如表 2 所示。表 2 相關(guān)資源設(shè)置資源名稱資源符號資源對應(yīng)的變量資源屬性BitmapJIEMIAN無來自于文件 jiemian.bmpPictureIDC_STATIC無類型 Bitmap,圖像 JIEMIANButtonIDOK無缺省ButtonID
36、CANCEL無缺省Static BoxIDC_STATIC無標(biāo)題為:請輸入用戶名和密碼:Static BoxIDC_STATIC無標(biāo)題為:用戶名:Static BoxIDC_STATIC無標(biāo)題為:密碼:Edit BoxIDC_EDIT_NAMECEdit m_editUserName取消 Border,選上【Static edge”Edit BoxIDC_EDIT_PASSWORDCEdit m_editPassWord取消 Border,選上【Static edge”和【PassWord” 吉林省明日科技有限公司監(jiān)制 14 3程序相關(guān)代碼系統(tǒng)登錄程序要在顯示主窗體之前顯示,系統(tǒng)登錄程序代碼如
37、下:BOOL CMedApp:InitInstance().LRunSql:InitConnectPtr(); /初始化COM環(huán)境,進(jìn)行數(shù)據(jù)庫連接CDlgLogin dlg; /創(chuàng)建登錄窗口對象if(dlg.DoModal()=IDOK) /顯示登錄窗口CA1Dlg *pdlg=new CA1Dlg; /創(chuàng)建主窗體對象m_pMainWnd = pdlg;pdlg-DoModal(); /顯示主窗體delete pdlg;pdlg=NULL;LRunSql:Close();/斷開數(shù)據(jù)庫連接return FALSE;當(dāng)用戶單擊“確定”按鈕時(shí),進(jìn)行密碼判斷和次數(shù)判斷。處理“確定“按鈕的消息響應(yīng)函數(shù)如
38、下:void CDlgLogOn:OnOK()BOOL bLogOn=FALSE;CString sUserPassWord, sPurview,sUserName,sInputPassWord;LRunSql m_runsql;CString sql;_variant_t value;CString sError;/更新數(shù)據(jù)變量this-m_editPassWord.GetWindowText(sInputPassWord);this-m_editUserName.GetWindowText(sUserName);CA1App* App=(CA1App *)AfxGetApp();sql.F
39、ormat(select admi_password,admi_purview from tabpurview where admi_name=%s,sUserName);if(m_runsql.CheckSQLResult(sql)value=m_runsql.m_recordset-GetCollect(admi_password);if(value.vt!=VT_NULL)sUserPassWord=(char*)(_bstr_t)value; value=m_runsql.m_recordset-GetCollect(admi_purview); 吉林省明日科技有限公司監(jiān)制 15 if
40、(value.vt!=VT_NULL)sPurview=(char*)(_bstr_t)value;if(sUserPassWord=CCrypt:Encrypt(sInputPassWord,123)App-m_sUserName=sUserName;App-m_sPurview=sPurview;bLogOn=TRUE;elsesError=請重新輸入密碼。n注意大小寫!,密碼錯(cuò)誤;this-m_editPassWord.SetFocus();elsesError=請確認(rèn)用戶名大小寫是否正確!,無此用戶;this-m_editUserName.SetFocus();if(bLogOn) E
41、ndDialog(IDOK);else m_iLogOnCount+;if(m_iLogOnCount=3)this-EndDialog(0);elseMessageBox(sError);進(jìn)行焦點(diǎn)控制。定義控制焦點(diǎn)的函數(shù),該函數(shù)定義了當(dāng)用戶單擊Enter鍵時(shí),焦點(diǎn)改變的順序,當(dāng)需要改變焦點(diǎn)時(shí),調(diào)用此函數(shù)。bool CDlgLogOn:SetTheFocus()HWND hwnd=:GetFocus(); UINT id=:GetDlgCtrlID(hwnd);switch(id)case IDC_EDIT_NAME:this-m_editPassWord.SetFocus(); :PostM
42、essage(m_editPassWord.GetSafeHwnd(),WM_KEYDOWN,VK_END,0);return true; 吉林省明日科技有限公司監(jiān)制 16 case IDC_EDIT_PASSWORD: this-GetDlgItem(IDOK)-SetFocus();return true;case IDOK:this-OnOK();return true;case IDCANCEL:this-OnCancel();return true;return false;在消息預(yù)處理函數(shù)中調(diào)用此函數(shù)。BOOL CDlgLogOn:PreTranslateMessage(MSG*
43、pMsg) if(pMsg-message=WM_KEYDOWN&pMsg-wParam=13)if(this-SetTheFocus()return true;return CDialog:PreTranslateMessage(pMsg);/該函數(shù)返回True,表示該消息已被處理4.3 商品銷售管理1實(shí)現(xiàn)目標(biāo)自動生成銷售日期及銷售票號。確定用戶輸入數(shù)據(jù)完畢后,可提交數(shù)據(jù)給數(shù)據(jù)庫。自動核算銷售金額。支持打印功能。銷售登記模塊運(yùn)行結(jié)果如圖 9 所示。 吉林省明日科技有限公司監(jiān)制 17 圖 9 銷售登記模塊運(yùn)行結(jié)果2設(shè)計(jì)步驟(1)新建一個(gè)窗口類,名稱為 CDlgXSDJ,對話框資源 ID
44、 為 IDD_DIALOG_XSDJ。(2)在窗口中添加編輯框、組合框、靜態(tài)文本、按鈕、時(shí)間控件等資源。(3)設(shè)置主要資源屬性,如表 3 所示。表 3 對話框及相關(guān)資源設(shè)置資源名稱資源符號資源對應(yīng)的變量資源屬性DialogIDD_DIALOG_XSDJCDlgXSDJ dlg(true)標(biāo)題:銷售登記字體名稱:楷體_GB2312字體大?。?2Combo BoxIDC_COMBO1CComboBox m_comboJsfsType:DropListCombo BoxIDC_COMBO2CComboBox m_comboJsrType:DropListEdit BoxIDC_EDIT_KHIDCG
45、eneralEdit m_editKhId取消 BorderEdit BoxIDC_EDIT_KHNAMECGeneralEdit m_editKhName取消 BorderEdit BoxIDC_EDIT1CString m_strPhCEdit m_editPh取消 Border,選上 Read OnlyEdit BoxIDC_EDIT_SSPictureIDC_STATICType:FrameColor:BlackStatic BoxIDC_STATIC_SS標(biāo)題為:實(shí)收:Static BoxIDC_STATIC標(biāo)題為:總金額:Static BoxIDC_STATIC_ZJE標(biāo)題為:0.
46、00 吉林省明日科技有限公司監(jiān)制 18 Static BoxIDC_STATIC_PH無標(biāo)題為:銷售登記票號:Date Time PickerIDC_DATETIMEPICKER1CDateTimeCtrl m_tcRq格式:Short Date選上:Static edgeButtonIDC_BUTTON1無標(biāo)題為:刪除ButtonIDC_BUTTON_OKCButton m_btnOk標(biāo)題為:確定ButtonIDC_BUTTON_PRINT無標(biāo)題為:打印.ButtonIDCANCEL無標(biāo)題為:退出3程序相關(guān)代碼(1)創(chuàng)建左上角的標(biāo)題信息。 創(chuàng)建白色背景。以背景作父窗體,讓其他的控件作它的子窗
47、體。這里需要在 CDlgXSDJ 的頭文件中聲明CWhiteFrame 對象。CWhiteFrame m_whiteframe;在 OnCreate 的成員函數(shù)中創(chuàng)建該對象對應(yīng)的窗口。int CDlgXSDJ:OnCreate(LPCREATESTRUCT lpCreateStruct) if (CDialog:OnCreate(lpCreateStruct) = -1)return -1;CRect rect;this-GetClientRect(&rect);rect.left+=10;rect.right-=250;rect.top+=10;rect.bottom=200;m_w
48、hiteframe.Create(,WS_CHILD|WS_TABSTOP|WS_VISIBLE,rect,this,700);return 0; 創(chuàng)建標(biāo)題部分的控件。該部分的控件都以上述的白色背景窗口為父窗口,要注意以下幾點(diǎn):在這個(gè)背景上創(chuàng)建靜態(tài)文本,且文本背景是白色。對此,同樣使用 CWhiteFrame 類,并用該類定義一組靜態(tài)文本對象,要注意創(chuàng)建文本的位置,使其與相應(yīng)的控件相配合。例如:確保靜態(tài)文本“客戶編號”與相應(yīng)的編輯框在同一個(gè)水平高度;日期與日期控件在同一個(gè)高度。由于入庫與銷售大部分內(nèi)容是相同的,所以,用一個(gè)窗體來執(zhí)行這兩部分功能。為此,用 Bool 型的變量 m_bXs 來表示
49、這兩種區(qū)別,并在代碼中要適時(shí)修改一些屬性。改變設(shè)計(jì)時(shí)添加的控件的父窗體要用到其成員函數(shù) SetParent。方式如下:m_tcRq.SetParent(&m_whiteframe);對于結(jié)算方式下拉列表框和經(jīng)手人下拉列表框,需要從數(shù)據(jù)庫中取得相應(yīng)的數(shù)據(jù)來初 吉林省明日科技有限公司監(jiān)制 19 始化這兩個(gè)窗口,并在最后為這兩個(gè)下拉列表框確定初值。初始化時(shí)間。CTime m_dateRq = CTime:GetCurrentTime(); /初始化時(shí)間this-m_tcRq.SetTime(&m_dateRq);創(chuàng)建和初始化標(biāo)題部分的控件的代碼如下:bool CDlgXSDJ:Ini
50、tBaseInfo()CRect rect;CString str;wf=new CWhiteFrame5;CString strs5; /該字符串保存靜態(tài)文本if(m_bXs) /判斷當(dāng)前是銷售登記,還是入庫登記strs0=客戶編號:;strs1=客戶名稱:;elsethis-GetDlgItem(IDC_STATIC_PH)-SetWindowText(入庫登記票號:);this-SetWindowText(入庫登記:);strs0=供應(yīng)商編號:;strs1=供應(yīng)商名稱:;strs2=結(jié)算方式:;strs3=經(jīng)手人:;strs4=日期:;rect=CRect(10,40,80,55); /
51、用來確定靜態(tài)文本的位置for(int i=0;im_tcRq.SetTime(&m_dateRq);/init jsr; /初始化經(jīng)手人下拉列表框 吉林省明日科技有限公司監(jiān)制 20 CString sql;sql.Format(select yg_name from tabyginfo);if(!m_runsql.CheckSQLResult(sql)return false;_variant_t value;while(!m_runsql.m_recordset-adoEOF) /從數(shù)據(jù)庫取值初始化員工下拉列表框value=m_runsql.m_recordset-GetCollec
52、t(yg_name);if(value.vt!=VT_NULL)this-m_comboJsr.AddString(char*)(_bstr_t)value);m_runsql.m_recordset-MoveNext();/init jsfs;sql.Format(select jsfs from tabjsfs);this-m_runsql.RunSQL(sql);while(!m_runsql.m_recordset-adoEOF) /從數(shù)據(jù)庫取值初始化經(jīng)手人下拉列表框value=m_runsql.m_recordset-GetCollect(jsfs);if(value.vt!=VT_
53、NULL)this-m_comboJsfs.AddString(char*)(_bstr_t)value);m_runsql.m_recordset-MoveNext();this-m_comboJsfs.SetCurSel(0);this-m_comboJsr.SetCurSel(0);return true; 為客戶編號和客戶名稱編輯框連接自動提示窗口。對于客戶信息和供應(yīng)商信息,這兩者信息格式大部分是相同的,并且每次是用到其中的一組數(shù)據(jù)時(shí)都需要用到自動提示窗口,所以專門作出一個(gè)類 CGeneralEdit 來對應(yīng)著兩組信息,并包含對自動提示窗口的使用。該類派生自 CEdit(參看類圖 2.
54、12) 。在此之前,請參看關(guān)鍵技術(shù)中的 5.2.2 關(guān)于顯示自動提示窗口的介紹。功能分析:界面上看,需要有下劃線和白色背景。當(dāng)把焦點(diǎn)移到某個(gè)編輯框上時(shí)原有彈出的自動提示窗口消失。當(dāng)在編輯框中進(jìn)行編輯時(shí)引起 EN_CHANGE 事件時(shí),彈出自動提示窗口。焦點(diǎn)移走時(shí),讓自動提示窗口消失;但是如果焦點(diǎn)移動到了自動提示窗口上,則自動提示窗口不消失。當(dāng)父窗體移動時(shí),自動提示窗口也跟著移動。當(dāng)在編輯框中進(jìn)行編輯時(shí),按 、 、 Page Up 、 Page Down鍵,自動提示窗口會響應(yīng)這些消息,且此時(shí)焦點(diǎn)還在編輯框中。當(dāng)用戶在其中一個(gè)編輯框中按Enter鍵,表示確定了選擇某一個(gè)客戶(編號或名稱) , 吉林
55、省明日科技有限公司監(jiān)制 21 那么另一個(gè)編輯框中的內(nèi)容也隨之改變。當(dāng)用戶在其中一個(gè)編輯框中單擊Esc鍵,表示用戶放棄進(jìn)行編輯,取消自動彈出對話框。為了實(shí)現(xiàn)功能 2,寫消息 WM_SETFOCUS 的消息響應(yīng)函數(shù) OnSetFocus。void CGeneralEdit:OnSetFocus(CWnd* pOldWnd)ASSERT(this-m_poplist!=NULL);m_poplist-ShowWindow(SW_HIDE);CEdit:OnSetFocus(pOldWnd);對于功能 3,要寫 EN_CHANGE 消息響應(yīng)函數(shù) OnChange。在編寫 EN_CHANGE 消息響應(yīng)函
56、數(shù) OnChange 時(shí),需要注意:客戶編號編輯框和客戶名稱編輯框都是由一個(gè)類定義出來的,使用資源符號來區(qū)分這兩個(gè)對象,如 IDC_EDIT_KHID 對應(yīng)著客戶編號編輯框,而 IDC_EDIT_KHNAME 則對應(yīng)著客戶名稱編輯框?qū)ο?。?dāng)編輯編號時(shí),直接用當(dāng)前編輯框的字符串來刷新自動提示窗口,當(dāng)編輯名稱時(shí),還需要參考編號編輯框的值,來顯示自動提示窗口的內(nèi)容。如果自動提示窗口已經(jīng)顯示了,就沒有必要重復(fù)計(jì)算顯示。代碼如下:void CGeneralEdit:OnChange() if(m_bSetValue) return;ASSERT(this-m_poplist!=NULL);CString
57、 str;this-GetWindowText(str); /取得當(dāng)前編輯框的字符串int iID=this-GetDlgCtrlID(); /取得當(dāng)前編輯框?qū)ο蟮馁Y源符號的值if(iID=IDC_EDIT_KHID) /判斷是編號對象,還是名稱對象this-m_poplist-RefreshListCtrlView(0,str); /刷新自動提示窗口數(shù)據(jù)else if(iID=IDC_EDIT_KHNAME)CString id;CWnd * editid;editid=this-GetParent()-GetDlgItem(IDC_EDIT_KHID);editid-GetWindowTe
58、xt(id);m_poplist-RefreshListCtrlView(1,str,id,0); /根據(jù)兩個(gè)字符串刷新自動提示窗口if(!m_poplist-IsWindowVisible()/如果自動提示窗口已顯示,就不用再設(shè)定位置、顯示this-GetWindowRect(&m_rectWindow); 吉林省明日科技有限公司監(jiān)制 22 this-m_poplist-SetShowPosition(this-m_rectWindow,this);m_poplist-ShowListPop();對于功能 4、6、7、8,需要編寫預(yù)解釋函數(shù) PreTranslateMessage(M
59、SG* pMsg)和 WM_KILLFOCUS 的消息響應(yīng)函數(shù) OnKillFocus,功能分析如下:編輯框失去焦點(diǎn)的時(shí)候,會調(diào)用函數(shù) OnKillFocus(CWnd*pNewWnd),此時(shí),需要判斷是否焦點(diǎn)轉(zhuǎn)移到了自動提示窗口上,pNewWnd 就是焦點(diǎn)轉(zhuǎn)移到的窗口指針,判斷這個(gè)指針是誰就行了。當(dāng)用戶按Enter鍵,缺省情況下,對話框處理這個(gè)消息并最終執(zhí)行 OnOk 函數(shù),關(guān)閉對話框。需要在預(yù)解釋函數(shù)中處理這個(gè)消息,并把它解釋為 WM_KILLFOCUS,并設(shè)定一個(gè)開關(guān)變量標(biāo)識這個(gè)消息,在 OnKillFocus 函數(shù)中收到并處理這個(gè)消息。當(dāng)用戶按Esc鍵時(shí),需要讓自動提示窗口消失,同時(shí)將
60、Enter鍵解釋為無關(guān)緊要的鍵如Ctrl鍵。當(dāng)用戶按 、 、 Page Up 、 Page Down鍵時(shí),將這個(gè)消息原封不動地發(fā)送給自動提示窗口,自動提示窗口會響應(yīng)這些消息(此時(shí)焦點(diǎn)還在編輯框中) 。BOOL CGeneralEdit:PreTranslateMessage(MSG* pMsg) /TODO: Add your specialized code here and/or call the base classif(pMsg-message=WM_KEYDOWN) /捕捉鍵盤某個(gè)鍵按下事件switch(pMsg-wParam)case 13: /捕捉Enter鍵pMsg-message=WM_KILLFOCUS; /將該消息改為WM_KILLFOCUS消息m_Kill=RETURN
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年中國鐵路南寧局集團(tuán)有限公司招聘考試真題
- 2023年漳州市漳浦縣公安局交警大隊(duì)車管所駕管業(yè)務(wù)考試真題
- 河南洛陽老城區(qū)公益性崗位招聘真題
- 大連市教育局局屬學(xué)校自主招聘畢業(yè)生真題
- 高二開學(xué)教師會議講話稿5篇
- 銀行實(shí)習(xí)二周心得大全
- 財(cái)務(wù)科會計(jì)工作計(jì)劃2024(10篇)
- 文員個(gè)人工作心得體會10篇
- 關(guān)于休閑小零食的問卷調(diào)查
- 山東省人力資源和社會保障勞動合同
- 雅魯藏布江大拐彎巨型水電站規(guī)劃方案
- 廣西基本醫(yī)療保險(xiǎn)門診特殊慢性病申報(bào)表
- 城市經(jīng)濟(jì)學(xué)習(xí)題與答案
- 國開成本會計(jì)第14章綜合練習(xí)試題及答案
- 幼兒園大班科學(xué):《樹葉為什么會變黃》課件
- 1到50帶圈數(shù)字直接復(fù)制
- 鐵路工程施工組織設(shè)計(jì)(施工方案)編制分類
- 幼兒園中班數(shù)學(xué)《有趣的圖形》課件
- 《規(guī)劃每一天》教案2021
- 草莓創(chuàng)意主題實(shí)用框架模板ppt
- 山大口腔頜面外科學(xué)課件第5章 口腔種植外科-1概論、口腔種植的生物學(xué)基礎(chǔ)
評論
0/150
提交評論