窗體與控件課件_第1頁
窗體與控件課件_第2頁
窗體與控件課件_第3頁
窗體與控件課件_第4頁
窗體與控件課件_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、*1第 3 章窗體與控件*2/58了解并熟悉屬性表、可重用的框架窗口基類熟練掌握運行對話框進行應(yīng)用程序設(shè)計熟練掌握使用常用控件和通用控件進行應(yīng)用程序設(shè)計熟練掌握運用文檔與視圖的分離進行應(yīng)用程序設(shè)計熟悉窗口切分和多視圖 本章學習目標*3/58 第一講:窗體與控件(一)對話框 第二講:窗體與控件(二)通用控件 第三講:窗體與控件(三)菜單欄、工具欄、狀態(tài)欄與屬性表 第四講:窗體與控件(四)文檔與視圖的分離 教學計劃第一講 窗體與控件(一) 對話框*5/58本講主要內(nèi)容 對話框概述 對話框分類 模式對話框 對話框數(shù)據(jù)交換與驗證 無模式對話框 通用對話框 信息框*6/58在編寫Windows應(yīng)用程序時

2、,如何使消息與程序代碼聯(lián)系起來呢?什么是應(yīng)用程序框架? 基于資源的程序設(shè)計。知識回顧*7/58作為Diaz電信呼叫中心的一個應(yīng)用程序,開始屏幕應(yīng)該提供接收用戶名和密碼的界面。應(yīng)用程序應(yīng)該檢查注冊名稱是否為“sa”,而密碼是否為“CallCenter”。應(yīng)用程序應(yīng)該允許用戶至少三次輸入用戶名和密碼。如果三次都輸入了錯誤的用戶名和密碼,則應(yīng)該顯示相應(yīng)的錯誤信息并關(guān)閉應(yīng)用程序。問題陳述3.1.1示例1*8/58確定應(yīng)用程序中用于進行值存儲的變量。確定用于接收用戶輸入信息的控件。確定驗證用戶輸入有效性的機制。創(chuàng)建Windows窗體。在Windows窗體中添加控件。編寫用于驗證用戶輸入有效性的代碼。執(zhí)行

3、應(yīng)用程序。任務(wù)單*9/58 對話框概述 對話框分類 模式對話框 對話框數(shù)據(jù)交換與驗證 無模式對話框 通用對話框 信息框*10/58從軟件工程基本模型的角度來講,應(yīng)用程序從用戶處獲得數(shù)據(jù),再加工處理,最后將處理結(jié)果輸出給用戶。幾乎所有基于Microsoft Windows的應(yīng)用程序都要借助對話框,實現(xiàn)和用戶的交互操作。對話框并不只是一個“框”,它實際上是一個真正的窗口,與控件(按鈕、列表框、組合框、編輯框、滾動條等)密不可分,不但可以接受消息,而且還可以被移動和關(guān)閉,甚至可以在它的客戶區(qū)中進行繪圖操作。可以是很簡單的消息框可以是復(fù)雜的數(shù)據(jù)輸入窗體對話框概述示例2*11/58一個對話框一般由如下兩

4、部分組成:對話框資源模板:確定對話框表現(xiàn)形式指定了對話框的位置、大小、風格等特征確定了各種控件的位置、大小、風格、排列等特征創(chuàng)建了與用戶交互操作的窗口對話框類:提供對話框功能的具體實現(xiàn)每個對話框都必須有一個類與之對應(yīng)對話框類一般都從CDialog類派生對話框概述(續(xù))*12/58 對話框概述對話框分類 模式對話框 對話框數(shù)據(jù)交換與驗證 無模式對話框 通用對話框 信息框*13/58按照運行機制分類:分為模式對話框和無模式對話框兩大類。按照創(chuàng)建方式分類:分為自定義對話框、通用對話框和信息框。 CDialog基類既支持模式對話框,也支持無模式對話框。對話框分類*14/58稍等一下 一個對話框由哪兩部

5、分組成? 對話框有哪些種類?對話框資源模板對話框類按照運行機制分類:分為模式對話框和無模式對話框兩大類 。按照創(chuàng)建方式分類:分為自定義對話框、通用對話框和信息框 。*15/58 對話框概述 對話框分類模式對話框 對話框數(shù)據(jù)交換與驗證無模式對話框 通用對話框 信息框*16/581、概述模式對話框是最常使用的對話框。一旦模式對話框彈出,用戶就必須在對話框中作出適當?shù)牟僮?,退出模式對話框后,?yīng)用程序才能繼續(xù)進行。 一般情況下,模式對話框有“OK”和“Cancel”按鈕,單擊“OK”按鈕后,退出對話框時用戶在對話框中的選擇或輸入有效;單擊“Cancel”按鈕后,退出對話框時用戶的選擇或輸入無效,程序恢

6、復(fù)原有狀態(tài)。雖然退出模式對話框之前,對話框所在應(yīng)用程序不能繼續(xù)執(zhí)行,但用戶可以激活或啟動其他應(yīng)用程序。模式對話框*17/582、運行機制以變量的形式構(gòu)建一個對話框?qū)ο?。調(diào)用該對話框?qū)ο蟮某蓡T函數(shù)DoModel() 。DoModel()負責對模式對話框的創(chuàng)建和撤銷。應(yīng)用程序根據(jù)DoModel()的返回值判斷用戶操作是確定還是取消對話框的操作:返回值是IDOK表示確定,返回值是IDCANCEL表示取消。 DoModel( )功能流程圖如下:模式對話框(續(xù))*18/58DoModel( )功能流程圖模式對話框(續(xù))開始結(jié)束,返回IDOK結(jié)束,返回IDCANCL載入對話框模板資源調(diào)用OnInitDia

7、log( )函數(shù)初始化,并完成以下任務(wù):1、調(diào)用UpdateData(FALSE);2、變量到控件的數(shù)據(jù)交換;3、顯示對話框。分析消息消息處理函數(shù)消息隊列用戶操作CANCEL處理函數(shù):關(guān)閉對話框。OK處理函數(shù):1、調(diào)用UpdateData(TRUE);2、控件到變量的數(shù)據(jù)交換;3、關(guān)閉對話框。OK事件消息其他消息CANCEL*19/583、模式對話框的編程(1)對話框資源模板的設(shè)計用對話框編輯器創(chuàng)建一個包含各種控件的對話框資源。對話框編輯器會對項目的資源描述(RC)文件進行更新,使之包含新的對話框資源,并且該項目的resource.h文件也會被更新以包含新的#define常量。實踐示例,項目C

8、allCenter。模式對話框(續(xù))*20/58(2)對話框類的定義利用MFC Class Wizard來創(chuàng)建CDialog的派生類,并將它和上一步所創(chuàng)建的資源相連接。Visual Studio會自動在Microsoft Visual C+項目中加入相應(yīng)的代碼和頭文件。利用Visual Studio在對話框類中加入數(shù)據(jù)成員、交換函數(shù)和確認函數(shù)。實踐示例,項目CallCenter。模式對話框(續(xù))*21/58(3)對話框的實現(xiàn) 利用Class View的Properties窗口為對話框中的按鈕和其他可以產(chǎn)生事件的控件加入相應(yīng)的消息控制函數(shù)。為特殊控件的初始化編寫代碼(在OnInitDialog(

9、)函數(shù)中),同時編寫代碼實現(xiàn)有關(guān)的消息控制函數(shù)。當用戶關(guān)閉對話框時,別忘了調(diào)用CDialog類的虛成員函數(shù)OnOK()(除非用戶取消了該對話框)。實踐示例,項目CallCenter。模式對話框(續(xù))*22/58(4)運行模式對話框 在調(diào)用對話框的類中編寫激活對話框的代碼。在所編寫代碼中,首先應(yīng)該調(diào)用對話框類的構(gòu)造函數(shù)聲明對話框類對象,然后再調(diào)用對話框類對象的DoModel()成員函數(shù)。模式對話框(續(xù)) 示例代碼:CCallCenterDlg dlg; if (dlg.DoModal() = IDOK) / 在此放置處理用“確定”來關(guān)閉對話框后的代碼 else / 在此放置處理用“取消”來關(guān)閉對

10、話框后的代碼 *23/58 對話框概述 對話框分類 模式對話框?qū)υ捒驍?shù)據(jù)交換與驗證無模式對話框 通用對話框 信息框*24/58對話框數(shù)據(jù)交換與驗證1、概述對話框類CDialog中封裝了對話框數(shù)據(jù)交換(DDX)和對話框數(shù)據(jù)驗證(DDV)機制。DDX機制實現(xiàn)對話框控件的初始化和用戶數(shù)據(jù)的輸入輸出。DDV機制用于驗證對話框中數(shù)據(jù)輸入的正確性。要對與數(shù)據(jù)有關(guān)的控件使用DDX和DDV,就必須要創(chuàng)建控件對應(yīng)的數(shù)據(jù)成員、設(shè)置數(shù)據(jù)類型并指定驗證規(guī)則。 *25/58對話框數(shù)據(jù)交換與驗證(續(xù))2、數(shù)據(jù)交換過程(DDX機制)通常在OnInitDialog()函數(shù)或?qū)υ捒驅(qū)ο蟮臉?gòu)造函數(shù)中設(shè)置對話框數(shù)據(jù)成員的初始值。在

11、顯示對話框之前,DDX機制把數(shù)據(jù)成員的值傳遞給對話框中的相應(yīng)控件,當對話框顯示時,將在對話框中相應(yīng)控件中顯示這些數(shù)據(jù)信息。OnInitDialog()函數(shù)調(diào)用CWnd:UpdateData()實現(xiàn)數(shù)據(jù)交換。在UpdateData()函數(shù)中,首先創(chuàng)建一個CDataExchange類對象,再調(diào)用重載DoDataExchange()函數(shù)實現(xiàn)數(shù)據(jù)交換。UpdateData(FALSE):控件對應(yīng)數(shù)據(jù)成員的值反應(yīng)到對話框界面控件中。UpdateData(TRUE):對話框界面控件中的數(shù)據(jù)傳給控件對應(yīng)數(shù)據(jù)成員。示例3*26/58對話框數(shù)據(jù)交換與驗證(續(xù))3、數(shù)據(jù)驗證功能(DDV機制)在創(chuàng)建數(shù)據(jù)成員變量向?qū)?/p>

12、中設(shè)置驗證規(guī)則。根據(jù)設(shè)置好的驗證規(guī)則,DDV機制驗證用戶在對話框編輯控件中輸入的數(shù)據(jù)是否符合規(guī)則。如果不符合(驗證失?。?,則DDV函數(shù)將用信息框提示用戶,并把焦點放在違反規(guī)則的控件中等待用戶重新輸入數(shù)據(jù)。示例4*27/58對話框數(shù)據(jù)交換與驗證(續(xù))4、注意事項必須使用類向?qū)ё詣由蓴?shù)據(jù)映射中的DDX和DDV,不要人工編寫定界符之間的數(shù)據(jù)映射行。當程序需要交換數(shù)據(jù)時,不要直接調(diào)用DoDataExchange()函數(shù),而應(yīng)該調(diào)用CWnd:UpdateData()。*28/58Diaz電信需要一個用以接收訂購細節(jié)信息的應(yīng)用程序。需要接收的細節(jié)信息包括訂購數(shù)量、日期、用戶識別號、產(chǎn)品標號以及費用等。產(chǎn)

13、品標號應(yīng)該在組合框中顯示。在用戶輸入訂購細節(jié)信息后并點擊Save按鈕時,應(yīng)用程序應(yīng)該檢查所有字段是否都已被填寫完畢并顯示出相關(guān)的信息。問題陳述3.1.2*29/58確定應(yīng)用程序中用于進行值存儲的變量。確定用于接收用戶輸入信息的控件。確定驗證用戶輸入有效性的機制。創(chuàng)建Windows窗體。在Windows窗體中添加控件。編寫用于驗證用戶輸入有效性的代碼。執(zhí)行應(yīng)用程序。任務(wù)單*30/58 對話框概述 對話框分類模式對話框 對話框數(shù)據(jù)交換與驗證無模式對話框通用對話框 信息框*31/581、概述無模式對話框彈出后可一直保留在屏幕上,用戶可繼續(xù)在應(yīng)用程序中進行其他操作或啟動其他應(yīng)用程序。當需要使用該無模式

14、對話框時,只需像激活一般窗口一樣激活它即可。文本編輯軟件(記事本、word、excel等)中的“查找”和“替換”對話框就是無模式對話框。無模式對話框*32/582、運行機制在希望顯示對話框的窗口類中定義對話框的指針變量。按照對話框類的構(gòu)造函數(shù)所需的參數(shù),使用new動態(tài)地創(chuàng)建對話框?qū)ο?。調(diào)用該對象的成員函數(shù)Create()初始化并顯示對話框。在關(guān)閉對話框的消息處理函數(shù)中,使用delete釋放對象。 無模式對話框(續(xù))*33/583、無模式對話框的編程(1)無對話框資源模板的設(shè)計:同模式對話框用對話框編輯器創(chuàng)建一個包含各種控件的對話框資源。對話框編輯器會對項目的資源描述(RC)文件進行更新,使之包

15、含新的對話框資源,并且該項目的resource.h文件也會被更新以包含新的#define常量。實踐示例,項目CallCenter。無模式對話框(續(xù))*34/58(2)對話框類的定義:同模式對話框利用MFC Class Wizard來創(chuàng)建CDialog的派生類,并將它和上一步所創(chuàng)建的資源相連接。Visual Studio會自動在Microsoft Visual C+項目中加入相應(yīng)的代碼和頭文件。利用Visual Studio在對話框類中加入數(shù)據(jù)成員、交換函數(shù)和確認函數(shù)。實踐示例,項目CallCenter。無模式對話框(續(xù))*35/58(3)對話框的實現(xiàn):同模式對話框 利用Class View的P

16、roperties窗口為對話框中的按鈕和其他可以產(chǎn)生事件的控件加入相應(yīng)的消息控制函數(shù)。為特殊控件的初始化編寫代碼(在OnInitDialog()函數(shù)中),同時編寫代碼實現(xiàn)有關(guān)的消息控制函數(shù)。當用戶關(guān)閉對話框時,別忘了調(diào)用CDialog類的虛成員函數(shù)OnOK()(除非用戶取消了該對話框)。在調(diào)用對話框的類中編寫激活對話框的代碼。在所編寫代碼中,首先應(yīng)該調(diào)用對話框類的構(gòu)造函數(shù),然后再調(diào)用DoModel()成員函數(shù)。實踐示例,項目CallCenter。無模式對話框(續(xù))*36/58無模式對話框(續(xù))(4)運行無模式對話框 在希望顯示對話框的窗口類中定義對話框類的指針變量。按照對話框類的構(gòu)造函數(shù)所需參

17、數(shù),使用new動態(tài)地創(chuàng)建對話框類對象。調(diào)用該對象的成員函數(shù)Create()初始化并顯示對話框。在關(guān)閉對話框的消息處理函數(shù)中,使用delete釋放對象。實踐示例,項目CallCenter。 示例代碼: COrderDetailsDlg* m_pdlgOderDetails; m_pdlgOderDetails = new COrderDetailsDlg; BOOL ret = m_pdlgOderDetails-Create(COrderDetailsDlg:IDD); if(!ret) /Create failed. AfxMessageBox(Error creating Dialog);

18、 m_pdlgOderDetails-ShowWindow(SW_SHOW);*37/58稍等一下 簡述模式對話框和無模式對話框之間的區(qū)別 。模式對話框擁有自己的消息循環(huán),它壟斷了用戶輸入;而無模式對話框與它所在的應(yīng)用程序共用消息循環(huán),它不壟斷用戶輸入 。模式對話框用CDialog:DoModel( )來啟動,DoModel( )負責對模式對話框的創(chuàng)建和撤銷;而無模式對話框?qū)ο髴?yīng)該用new操作符創(chuàng)建,調(diào)用CDialog:Create( )而不是CDialog:DoModel( )來顯示對話框;調(diào)用CWnd:DestroyWindow( )而不是CDialog:EndDialog( )來關(guān)閉無模

19、式對話框,所以一般需要重新編寫OnOK( )和OnCancel( )函數(shù)。*38/58稍等一下 在實現(xiàn)對話框的數(shù)據(jù)交換與驗證時需要注意哪些事項?必須使用類向?qū)ё詣由蓴?shù)據(jù)映射中的DDX和DDV,不要人工編寫定界符之間的數(shù)據(jù)映射行。當程序需要交換數(shù)據(jù)時,不要直接調(diào)用DoDataExchange( )函數(shù),而應(yīng)該調(diào)用CWnd:UpdateData( ) 。*39/58稍等一下 什么情況下需要說明控件對應(yīng)的數(shù)據(jù)成員?什么情況下需要說明控件對應(yīng)的對象? 需要數(shù)據(jù)交換時需要說明控件對應(yīng)的數(shù)據(jù)成員;需要在程序中對控件進行控制時需要說明控件對應(yīng)的對象。*40/58 對話框概述 對話框分類模式對話框 對話框數(shù)

20、據(jù)交換與驗證無模式對話框通用對話框 信息框*41/58通用對話框1、概述通用對話框是有特殊用途的常用對話框。Windows支持5種通用對話框:顏色對話框文件打開與保存對話框查找與替換對話框字體對話框打印與打印設(shè)置對話框MFC提供了上面5種通用對話框的類,都是CCommonDialog的派生類,封裝了通用對話框的功能。在應(yīng)用程序中使用通用對話框十分方便,只需知道怎樣創(chuàng)建對話框和訪問對話框的數(shù)據(jù)即可,不必關(guān)心對話框的內(nèi)部細節(jié)。示例5*42/58通用對話框(續(xù))2、顏色對話框顏色對話框類:CColorDialog。使用顏色對話框步驟:構(gòu)造CColorDialog類對象定義一個COLORREF類型變量

21、,用于接收對話框的操作結(jié)果。調(diào)用CColorDialog:DoModel()函數(shù)啟動對話框。分析判斷用戶是否確認了所選擇的顏色。如果DoModel()返回值為IDOK,則表示用戶選擇了顏色。調(diào)用CColorDialog:GetColor()可以返回一個COLORREF類型的結(jié)果來指示在對話框中選擇的顏色。實踐示例,項目CCommonDialogDemo。*43/58通用對話框(續(xù))3、文件打開與保存對話框文件打開與保存對話框類:CFileDialog。使用文件對話框步驟:構(gòu)造CFileDialog類對象。構(gòu)造函數(shù)的第一個參數(shù)為true表示“文件打開對話框” ,為false表示“文件保存對話框”

22、。調(diào)用CFileDialog:DoModel()函數(shù)啟動對話框。如果DoModel()返回值為IDOK,則表示選擇了文件并可以用下表所列CFileDialog類的成員函數(shù)來獲取與所選文件有關(guān)的信息。實踐示例,項目CCommonDialogDemo。GetPathName()返回一個包含有全路徑文件名的CString對象GetFileName()返回一個包含文件名(不含路徑)的CString對象GetFileExt()返回一個只含文件擴展名的CString對象GetFileTitle()返回一個只含文件名(不含擴展名)的CString對象*44/58通用對話框(續(xù))4、查找與替換對話框查找與替換

23、對話框類:CFindReplaceDialog。查找與替換對話框是無模式對話框,不同于其他4中通用對話框。使用查找與替換對話框步驟:構(gòu)造CFindReplaceDialog類指針變量。按照對話框類CFindReplaceDialog的構(gòu)造函數(shù)所需參數(shù),使用new動態(tài)地創(chuàng)建對話框類對象。構(gòu)造函數(shù)的第一個參數(shù)為true表示“查找對話框”,為false表示“替換對話框”。調(diào)用CFindReplaceDialog:Create()函數(shù)初始化并顯示對話框。在關(guān)閉對話框的消息處理函數(shù)中,使用delete釋放對話框類對象。實踐示例,項目CCommonDialogDemo。*45/58通用對話框(續(xù))5、字體

24、對話框字體對話框類:CFontDialog。使用字體對話框步驟:構(gòu)造CFontDialog類對象。調(diào)用CFontDialog:DoModel()函數(shù)啟動對話框。實踐示例,項目CCommonDialogDemo。*46/58通用對話框(續(xù))6、打印與打印設(shè)置對話框打印與打印設(shè)置對話框類:CPrintDialog。使用打印與打印設(shè)置對話框步驟:構(gòu)造CPrintDialog類對象。構(gòu)造函數(shù)的第一個參數(shù)為true表示“打印設(shè)置對話框”,為false表示“打印對話框”。調(diào)用CPrintDialog:DoModel()函數(shù)啟動對話框。用默認配置的MFC應(yīng)用程序向?qū)Ы⒌某绦蛑С帧按蛴 焙汀按蛴≡O(shè)置”對話框

25、,用戶可在“文件”菜單中啟動它們。實踐示例,項目CCommonDialogDemo。*47/58 對話框概述 對話框分類模式對話框 對話框數(shù)據(jù)交換與驗證無模式對話框 通用對話框信息框*48/58信息框1、概述信息框也叫消息框,是對話框的一種。信息框在應(yīng)用程序中以對話框的形式顯示一些信息,并要求用戶根據(jù)情況選擇答案。可以由CWnd類的成員函數(shù)MessageBox()創(chuàng)建并顯示,也可以由MFC的全局函數(shù)AfxMessageBox()創(chuàng)建并顯示。對話框中的內(nèi)容在調(diào)用函數(shù)時由參數(shù)確定。*49/58信息框(續(xù))2、CWnd:MessageBox()函數(shù)該函數(shù)是CWnd類的成員函數(shù),僅局限于在CWnd的派

26、生類中使用。函數(shù)原型: int MessageBox( LPCTSTR lpszText, /提示信息 LPCTSTR lpszCaption = NULL, /標題 UINT nType = MB_OK ); /信息框內(nèi)容和行為調(diào)用該函數(shù)時,如果沒有內(nèi)存空間來顯示信息框,則函數(shù)返回值為0,否則返回值為下列值之一。實踐示例,項目MessageBoxDemo。IDOKIDCANCELIDABORTIDRETRYIDIGNOREIDYESIDNO*50/58信息框(續(xù))3、AfxMessageBox()函數(shù)該函數(shù)為MFC的全局函數(shù)(Afx前綴是全局函數(shù)標志),在MFC的所有類中都可以使用。函數(shù)原型

27、:int AfxMessageBox( LPCTSTR lpszText, / 提示信息 UINT nType = MB_OK, / 內(nèi)容和行為 UINT nIDHelp = 0 ); / 幫助文本ID信息框的標題默認為應(yīng)用程序項目名。實踐示例,項目MessageBoxDemo。示例6*51/58在這一講里,你學習了:對話框分類:(1)按照運行機制;(2)按照創(chuàng)建方式。對話框組成:對話框模板的設(shè)計 對話框類的定義。對話框和控件的初始化:在OnInitDialog()函數(shù)中完成;對話框數(shù)據(jù)成員的初始化:一般在對話框的構(gòu)造函數(shù)中完成。對話框的數(shù)據(jù)交換與驗證機制:(1)必須使用類向?qū)ё詣由蓴?shù)據(jù)映射

28、中的DDX和DDV,不要人工編寫定界符之間的數(shù)據(jù)映射行;(2)當程序需要交換數(shù)據(jù)時,不要直接調(diào)用DoDataExchange()函數(shù),而應(yīng)該調(diào)用CWnd:UpDateData()。小結(jié)*52/58模式對話框擁有自己的消息循環(huán),它壟斷了用戶輸入。模式對話框?qū)ο笫且宰兞啃问綐?gòu)建的,CDialog:DoModel()用來啟動一個模式對話框,在對話框關(guān)閉后該函數(shù)才返回。若用戶按下了“OK”按鈕,則DoModel()返回IDOK;若用戶按下“Cancel”按鈕,則DoModel()返回IDCANCEL。無模式對話框與它所在的應(yīng)用程序共用消息循環(huán),它不壟斷用戶輸入。無模式對話框?qū)ο髴?yīng)該用new操作符創(chuàng)建,調(diào)用CDialog:Create()而不是CDialog:DoModel()來顯示對話框,調(diào)用CWnd:DestroyWindow()而不是CDialog:EndDialog()來關(guān)閉無模式對話框,所以一般需要重新編寫OnOK()和OnCance

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論