




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1MFC基礎(chǔ)2計算機實習n一、實習內(nèi)容n二、演示例子n三、相關(guān)知識 1、對話框程序 2、控件使用 3、類使用 4、文件使用3一、實習內(nèi)容n題目 實現(xiàn)一個基本的學生信息管理系統(tǒng) 4一、實習內(nèi)容n存儲介質(zhì):.txt文件(學號唯一)類別 姓名 學號 年齡 系別 實驗室 發(fā)表文章B 張山 B098 23電信學院M 測試 Y094 23電信學院lab3M 周正 Y093 23電信學院lab2D 王丹 0102 29電信學院LAB9 20B 本科生M 碩士生D 博士生5一、實習內(nèi)容n程序框架:1、基于對話框應(yīng)用程序。6一、實習內(nèi)容n程序框架:2、基于控制臺的應(yīng)用程序7一、實習內(nèi)容n程序功能: 1. 能夠顯
2、示學生信息 2. 能夠增加、刪除、編輯學生信息 3. 能夠按照學號或姓名查詢學生信息 4. 能夠分類統(tǒng)計(可選)、排序(可選) 5. 能夠保存學生信息8二、演示例子n1、基于對話框的例子9二、演示例子n2、基于控制臺的例子10三、相關(guān)知識1、對話框程序2、控件使用 標簽、圖片、編輯框、按鈕、組合框、列表框等。3、類使用4、文件使用111、對話框程序n1.1步驟 1、選擇工程類別 MFC AppWizard(exe) 2、選擇應(yīng)用程序類別 Dialog Based 3、選擇應(yīng)用程序外觀 4、選擇應(yīng)用程序風格 5、確認相關(guān)類名稱 6、完成,顯示主窗口121、選擇工程類別MFC AppWizard(
3、exe)選擇MFC AppWizard(exe)132、選擇應(yīng)用程序類別 Dialog Based選擇Dialog Based14 3、選擇應(yīng)用程序外觀 去掉該復選框154、選擇應(yīng)用程序風格165、確認相關(guān)類名稱176、完成,顯示主窗口控件面版主對話框?qū)υ捒蛸Y源入口Resource視圖Class視圖File視圖18對話框或控件n共同特征 1、Resource :外觀 2、Class:邏輯實現(xiàn) 3、File:物理存儲19運行20說明n1、CStep1App類 應(yīng)用程序類,該類中包含程序的入口函數(shù): BOOL CStep1App:InitInstance() CStep1Dlg dlg; m_pM
4、ainWnd = &dlg; 對應(yīng)的文件Step1.h和Step1.cpp。工程名稱Step121說明n2、CStep1Dlg 主對話框類,卻省應(yīng)用程序的主窗口。 /數(shù)據(jù)交換的支持函數(shù) void DoDataExchange(CDataExchange* pDX) /對話框初始化函數(shù) BOOL OnInitDialog() /屏幕刷新函數(shù) void OnPaint() 對應(yīng)的文件Step1Dlg.h和Step1Dlg.cpp。由應(yīng)用程序類調(diào)用222、控件使用靜態(tài)圖片編輯框靜態(tài)文本組框按鈕復選框單選框組合框列表框列表視圖樹形視圖標簽23二、常用控件資源靜態(tài)圖片樹形視圖按鈕復選框單選框組合框編輯框
5、組框靜態(tài)文本24二、常用控件資源n什么是控件? 具有外觀、屬性和行為的元素,也就是說每一種控件=resource+class。比如編輯框CEdit類,按鈕CButton類251、靜態(tài)控件n靜態(tài)控件是用來顯示一個字符、邊框、圖標、位圖等,一般不接受用戶的輸入,也不產(chǎn)生任何事件。261、靜態(tài)控件靜態(tài)圖片編輯框靜態(tài)文本組框按鈕復選框單選框組合框列表框列表視圖樹形視圖標簽27靜態(tài)圖片n適用范圍 一般用于應(yīng)用程序的logo圖片n使用步驟 1、添加圖片資源 2、將控件和圖片資源關(guān)聯(lián)28 1)添加圖片資源Resource點擊鼠標右鍵,選擇Insert29 1)添加圖片資源彈出添加資源窗口選擇bitmap用于
6、手繪圖案選擇已有圖案30 2)將控件和圖片資源關(guān)聯(lián)1、用鼠標選中“靜態(tài)圖片”,并拖入對話框中2、點擊鼠標右鍵,彈出屬性對話框類型選擇Bitmap資源ID312)將控件和圖片資源關(guān)聯(lián)32靜態(tài)文本和組框n適用范圍 一般用于靜態(tài)的說明文字和邊框,與其他控件共同使用。n使用步驟 1、將控件拖入對話框 2、設(shè)置屬性332、編輯框靜態(tài)圖片編輯框靜態(tài)文本組框按鈕復選框單選框組合框列表框列表視圖樹形視圖標簽342、編輯框n適用范圍 一般用于可編輯的單行或多行文字。n編輯框相關(guān)知識 resource: 資源外觀,有唯一的ID class:CEdit 成員變量:屬性 成員函數(shù):設(shè)置屬性和行為 CEdit的對象:控
7、件變量352、編輯框如何使用編輯框? 1、將控件拖入對話框 2、設(shè)置屬性 3、編程對其進行控制 1)設(shè)置關(guān)聯(lián)控件變量 2)使用變量調(diào)用相關(guān)成員函數(shù)362、編輯框?qū)傩远嘈形谋撅@示*只讀373、編輯框的控制n1)直接調(diào)用成員函數(shù) /設(shè)置獲取編輯框文字 SetWindowText(LPTSTR); GetWindowText(LPTSTR); /編輯框是否變灰 EnableWindow(BOOL); /編輯框是否可見 ShowWindow(int); 38例1:編輯框使用n設(shè)置編輯框的文字并使其變灰 1、設(shè)置控件變量 點擊View-ClassWizard 2、在窗口初始化時添加代碼 391、設(shè)置控件
8、變量點擊添加變量選擇Control401、設(shè)置控件變量411、設(shè)置控件變量系統(tǒng)自動添加代碼如下 / Dialog Data/AFX_DATA(CStep1Dlg)enum IDD = IDD_STEP1_DIALOG ;CEditm_edit;/AFX_DATA所有和控件映射的變量均在此42數(shù)據(jù)交換函數(shù)中的生成代碼系統(tǒng)自動添加代碼如下void CStep1Dlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CStep1Dlg)DDX_Control(pDX, IDC_EDIT1, m_e
9、dit);/AFX_DATA_MAP控件ID映射變量432、在窗口初始化時添加代碼BOOL CStep1Dlg:OnInitDialog()/ TODO: Add extra initialization herem_edit.SetWindowText(welcome); m_edit.EnableWindow(false);return TRUE; / return TRUE unless you set the focus to a control44運行有文字,變灰453、編輯框的控制n對話框數(shù)據(jù)交換機制對話框數(shù)據(jù)交換機制 DDX(Dialog Data exchange),用于控件初
10、始化和獲取用戶輸入的數(shù)據(jù)。 對話框數(shù)據(jù)驗證DDV(Dialog data validation),用于對話框中輸入數(shù)據(jù)的合法性檢驗。 用戶只關(guān)心編輯框的內(nèi)容,不關(guān)心編輯框的屬性,可以使用內(nèi)容相關(guān)變量操作編輯框。463、編輯框的控制n通常使用UpdateData函數(shù)進行數(shù)據(jù)傳遞。 UpdateData(true):控件-成員變量 UpdateData(false):成員變量-控件n進行數(shù)據(jù)交換時UpdateData函數(shù)將設(shè)置一個CDataExchange對象,并調(diào)用對話框中的DoDataExchange重載函數(shù)。47例2:編輯框使用n使用DDX和DDV控制編輯框的內(nèi)容和長度 1、變更控件變量并注
11、釋掉OnInitDialog()中的原有代碼。 2、 在OnInitDialog()中添加新代碼 3、 運行481、變更控件變量刪除原有變量,增加新的變量選擇Value字符串選擇CString整型選擇int、UINT、long等491、變更控件變量設(shè)置編輯框內(nèi)容的長度50頭文件中的生成代碼 / Dialog Data/AFX_DATA(CStep1Dlg)enum IDD = IDD_STEP1_DIALOG ;CStringm_edit;/AFX_DATA51構(gòu)造函數(shù)中的生成代碼CStep1Dlg:CStep1Dlg(CWnd* pParent /*=NULL*/): CDialog(CSt
12、ep1Dlg:IDD, pParent)/AFX_DATA_INIT(CStep1Dlg)m_edit = _T();/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);52數(shù)據(jù)交換函數(shù)中的生成代碼void CStep1Dlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CStep
13、1Dlg)DDX_Text(pDX, IDC_EDIT1, m_edit);DDV_MaxChars(pDX, m_edit, 4);/AFX_DATA_MAP控件ID映射變量最大字符數(shù)532、 在OnInitDialog()中添加新代碼BOOL CStep1Dlg:OnInitDialog()/ TODO: Add extra initialization here /m_edit.SetWindowText(welcome); /m_edit.EnableWindow(false);m_edit = 123;UpdateData(false);return TRUE; / return T
14、RUE unless you set the focus to a control543、 運行用戶只能鍵入4個字符55注意n1、每一個控件只能關(guān)聯(lián)一個控件變量。n2、Control類型的變量只能在窗口彈出時使用??梢杂脕砀淖兙庉嬁虻膬?nèi)容和屬性。n3、Value類型的變量只能改變編輯框的內(nèi)容。563、編輯框控制n消息機制 控件響應(yīng)鍵盤或鼠標的操作,稱為事件。發(fā)送消息給控件;控件獲取消息后,進行處理。 EN_CHABGE: 內(nèi)容改變 EN_SETFOCUS: 獲取焦點 EN_MAXTEXT: 插入最多字符n入口 菜單View-ClassWizard 573、編輯框消息選擇控件控件消息58例3(接
15、例2):n當編輯框的內(nèi)容超出最大限制時,彈出警告框 步驟: 1、選擇IDC_EDIT1的EN_ MAXTEXT消息 2、系統(tǒng)自動產(chǎn)生對于該消息的消息映射,并生成處理函數(shù) 3、在處理函數(shù)中,添加彈出警告框的代碼591、選擇IDC_EDIT1的EN_MAXTEXT消息控件消息添加處理函數(shù)60消息映射BEGIN_MESSAGE_MAP(CStep1Dlg, CDialog)/AFX_MSG_MAP(CStep1Dlg)ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_EN_MAXTEXT(IDC_EDIT1, OnMaxtextEdit1)/AFX_MSG_MAPEND_ME
16、SSAGE_MAP()控件ID消息名稱處理函數(shù)61消息處理函數(shù)(頭文件)/ Generated message map functions/AFX_MSG(CStep1Dlg)virtual BOOL OnInitDialog();afx_msg void OnPaint();afx_msg HCURSOR OnQueryDragIcon();afx_msg void OnMaxtextEdit1();/AFX_MSGDECLARE_MESSAGE_MAP()消息處理函數(shù)62處理函數(shù)中添加代碼void CStep1Dlg:OnMaxtextEdit1 () / TODO: Add your c
17、ontrol notification handler code hereUpdateData(true);AfxMessageBox(m_edit);63運行643、按鈕靜態(tài)圖片編輯框靜態(tài)文本組框按鈕復選框單選框組合框列表框列表視圖樹形視圖標簽653、按鈕n常見的按鈕分為三類 1、按鈕 2、單選框 3、復選框n消息映射 BN_CLICKED BN_DOUBLE_CLICKED66例4:按鈕的使用IDC_RADIO1IDC_RADIO2IDC_CHECK1IDC_CHECK2IDC_CHECK3IDC_BUTTON167例4n設(shè)置并獲取單選框和復選框的值 1) 設(shè)置控件變量 2) 添加按鈕的消
18、息映射 3) 添加單選框的消息映射 4) 在按鈕和單選框的消息處理函數(shù)中添加代碼 5) 運行681) 設(shè)置控件變量單選框必須選中Group去掉auto691) 設(shè)置控件變量IDC_CHECK1IDC_CHECK2IDC_CHECK3IDC_RADIO1IDC_RADIO2702) 添加按鈕的消息映射713) 添加單選框的消息映射724) 在消息處理函數(shù)中添加代碼void CStep1Dlg:OnRadio1() m_radmale.SetCheck(true); m_radfemale.SetCheck(false);void CStep1Dlg:OnRadio2() m_radmale.Se
19、tCheck(false); m_radfemale.SetCheck(true);734) 在消息處理函數(shù)中添加代碼void CStep1Dlg:OnButton1() CString str;if(m_radmale.GetCheck()m_radmale.GetWindowText(str);elsem_radfemale.GetWindowText(str);UpdateData(true);if(m_chk1) str+=“、游泳” ; if(m_chk2) str+=“、跑步” ;if(m_chk3) str+=“、打球” ;MessageBox(str,測試, MB_OKCANC
20、EL);745) 運行754、組合框靜態(tài)圖片編輯框靜態(tài)文本組框按鈕復選框單選框組合框列表框列表視圖樹形視圖標簽764、組合框n組合框控件有三種風格: Simple:包含一個編輯框和總是顯示的列表框。 Drop Down:僅當單擊下滾箭頭時才出現(xiàn)列表框。 Drop List:僅當單擊下滾箭頭時才出現(xiàn)列表框。但是 沒有編輯功能,用戶只能選擇列表中已有的項。774、組合框n組合框的事件 CBN_SELCHANGE 如果選擇項改變 CBN_EDITCHANGE 如果編輯框種文字改變784、組合框的方法 1.獲取組合框中的項數(shù) int GetCount(); 2.獲取組合框中指定位置的文字 void G
21、etLBText( int nIndex, CString& rString )794、組合框的方法3.獲取/設(shè)置當前選擇項 SetCurSel(int index); int GetCurSel();4.添加/刪除文字項 int AddString(LPCTSTR lpszString ) int InsertString( int nIndex, LPCTSTR lpszString ); int DeleteString( UINT nIndex );804、組合框的方法n5.從組合框中查詢指定字符串 int FindString( int nStartAfter, LPCTSTR lp
22、szString ) int FindStringExact( int nIndexStart, LPCTSTR lpszFind )81例5n向組合框添加數(shù)據(jù),并獲取所選的數(shù)據(jù) 1、設(shè)置控件變量 2、設(shè)置控件屬性 3、在OnInitDialog()中添加初始化代碼 4、添加組合框消息映射CBN_SELCHANGE 5、在處理函數(shù)中添加代碼82 1、設(shè)置控件變量832、設(shè)置控件屬性可以直接在添加數(shù)據(jù)CTRL+ENTER換行組合框風格843、在OnInitDialog()中添加初始化代碼BOOL CStep1Dlg:OnInitDialog() m_combo1.AddString(“24);
23、m_combo1.InsertString(0,“20”); m_combo1.SetCurSel(3); return TRUE; / return TRUE unless you set the focus to a control85運行測試864、添加組合框消息映射CBN_SELCHANGE 875、在處理函數(shù)中添加代碼void CStep1Dlg:OnSelchangeCombo1() / TODO: Add your control notification handler code hereint index = m_combo1.GetCurSel();CString str;
24、m_combo1.GetLBText(index,str);AfxMessageBox(str);88運行895、樹形視圖靜態(tài)圖片編輯框靜態(tài)文本組框按鈕復選框單選框組合框列表框列表視圖樹形視圖標簽905、樹形視圖IDC_TREE1Linesbutton91設(shè)置控件屬性風格92常用樹形控件的事件n樹形控件 NM_CLICKED NM_RCLICKED NM_SETFOCUSn樹結(jié)點 TVN_SELCHANGED TVN_ITEMEXPANDED TVN_DELETEITEM93樹形控件的方法1、插入/刪除結(jié)點 HTREEITEM InsertItem(LPCTSTR lpszItem, HTRE
25、EITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST ); BOOL DeleteItem( HTREEITEM hItem ); BOOL DeleteAllItems( );2、獲取選中的結(jié)點 HTREEITEM GetSelectitem();94樹形控件的方法3、設(shè)置/獲取已知結(jié)點的標題 CString GetItemText(HTREEITEM hitem) BOOL SetItemText( HTREEITEM hItem, LPCTSTR lpszItem );4、獲取結(jié)點之間的關(guān)系 BOOL ItemHasChi
26、ldren(HTREEITEM hItem); HTREEITEM GetChildItem(HTREEITEM hItem) HTREEITEM GetNextSiblingItem(HTREEITEM hItem) 95樹形控件的方法n5、結(jié)點展開/收縮BOOL Expand( HTREEITEM hItem, UINT nCode );ncode的取值: TVE_COLLAPSE TVE_COLLAPSERESET TVE_EXPAND TVE_TOGGLE 96例6n添加并獲取選中的樹結(jié)點 1) 設(shè)置控件變量 2) 在OnInitDialog()初始化 3) 添加樹形控件的消息映射 4
27、) 在消息處理函數(shù)中添加代碼 5) 運行971) 設(shè)置控件變量982) 在OnInitDialog()初始化BOOL CStep1Dlg:OnInitDialog() HTREEITEM root = m_tree1.InsertItem(本科生);m_tree1.InsertItem(張三,root);m_tree1.InsertItem(李四,root); m_tree1.Expand(root,TVE_EXPAND); root = m_tree1.InsertItem(研究生);m_tree1.InsertItem(王單,root);m_tree1.InsertItem(丁一,root
28、);993) 添加樹形控件的消息映射1004) 在消息處理函數(shù)中添加代碼void CStep1Dlg:OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult) NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;/ TODO: Add your control notification handler code hereHTREEITEM hitem = m_tree1.GetSelectedItem();m_edit = m_tree1.GetItemText(hitem);if(m_edit!=本科生
29、& m_edit!=研究生)UpdateData(false);*pResult = 0;1015) 運行和樹形控件結(jié)點對應(yīng)102例7:刪除當前選中結(jié)點的所有孩子HTREEITEM hitem = m_tree1.GetSelectedItem();if (m_tree1.ItemHasChildren(hitem) HTREEITEM hNext; HTREEITEM hChild= m_tree1.GetChildItem(hitem); while (hChild!= NULL) hNext = m_tree1.GetNextSiblingItem( hChild); m_tree1.D
30、eleteItem(hChild); hChild = hNext; 1035、列表視圖靜態(tài)圖片編輯框靜態(tài)文本組框按鈕復選框單選框組合框列表框列表視圖樹形視圖標簽1045、列表視圖的風格iconsmalliconlistreport1055、列表視圖的事件n列表控件 NM_CLICKED NM_RCLICKED NM_SETFOCUSn列表數(shù)據(jù) LVN_ITEMCHANGED LVN_COLUMNCLICK LVN_DELETEITEM LVN_INSERTITEM1065、列表視圖的方法1、添加/刪除列 int InsertColumn( int nCol, LPCTSTR lpszColu
31、mnHeading, int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1 ); BOOL DeleteColumn( int nCol );1075、列表視圖的方法2、添加/刪除數(shù)據(jù)int InsertItem( int nItem, LPCTSTR lpszItem );int InsertItem( int nItem, LPCTSTR lpszItem, int nImage );BOOL DeleteItem( int nItem );BOOL DeleteAllItems( );1085、列表視圖的方法3、獲取列
32、表中數(shù)據(jù) CString GetItemText( int nItem, int nSubItem); BOOL SetItemText( int nItem, int nSubItem, LPTSTR lpszText );4、列標與圖標關(guān)聯(lián) CImageList* SetImageList( CImageList* pImageList, int nImageList ); CImageList* GetImageList( int nImageList );1095、列表視圖的方法5、獲取列表中選中的行 POSITION GetFirstSelectedItemPosition( );
33、int GetNextSelectedItem( POSITION& pos );1106、對話框1、有模式對話框 比如設(shè)置屬性對話框,一般包括OK和Cancle按鈕,使用DoModal()函數(shù)調(diào)用,利用其返回值判斷該窗口由哪個按鈕關(guān)閉。2、無模式對話框 比如查找對話框.111例8n如何新建一個有模式對話框? 1、新建對話框資源 2、設(shè)置對話框?qū)傩?3、生成對應(yīng)的對話框類 4、測試對話框1121、新建對話框資源1、點擊鼠標右鍵2、選擇Insert Dialog1131、新建對話框資源資源ID對話框外觀1142、設(shè)置對話框?qū)傩匀笔D字體標題是否有菜單風格邊框窗口右上角1153、生成對應(yīng)的對話框
34、類點擊右鍵菜單classwizard彈出1163、生成對應(yīng)的對話框類類名對應(yīng)源文件基類名資源ID1173、生成對應(yīng)的對話框類資源ID和類的對應(yīng)enum IDD=IDD_DIALOG11184、測試對話框1、在主對話框中添加 #include dialog1.h 2、在主對話框的OnButton1()函數(shù)中添加 CDialog1 dlg1; if(dlg1.DoModal()=IDOK)AfxMessageBox(點擊OK按鈕); else AfxMessageBox(點擊Cancle按鈕);1195、運行120例9:在另一個窗口顯示列表框n步驟 1) 設(shè)置圖標 2) 設(shè)置列表框變量 3) 設(shè)置
35、列表外觀屬性 4) 在CDialog1類的OnInitDialog中添加代碼將圖標與列表相連,設(shè)置列表列標題 5) 在CStep1Dlg類的OnButton1()中添加代碼初始化列表視圖數(shù)據(jù) 6) 運行121 1) 設(shè)置圖標在資源視圖中添加三個ICON1222) 設(shè)置列表變量設(shè)置控件變量1233) 設(shè)置列表外觀屬性風格單選1244) 在OnInitDialog中添加代碼將圖標與列表相連1、首先需要在CDialog1中添加成員變量 public:CImageList *m_pImageList;/用來傳遞來自主窗口的數(shù)據(jù) CString name; CString gender;CString
36、age;1252、添加OnInitDialog()事件1264) 在OnInitDialog中添加代碼將圖標與列表相連BOOL CDialog1:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization hereCStep1App *pApp = (CStep1App *)AfxGetApp();m_pImageList = new CImageList();m_pImageList-Create(16,16,ILC_COLOR32,0,10);m_pImageList-Add(pApp-LoadIcon(ID
37、I_ICON1);m_pImageList-Add(pApp-LoadIcon(IDI_ICON2);m_pImageList-Add(pApp-LoadIcon(IDI_ICON3);m_list.SetImageList(m_pImageList,LVSIL_SMALL);創(chuàng)建16*16的32位色的圖標列表將圖標調(diào)入內(nèi)存圖標與列表關(guān)聯(lián)1275) 在OnInitDialog中添加代碼初始化列表視圖BOOL CDialog1:OnInitDialog() /添加列 m_list.InsertColumn(0,姓名,LVCFMT_CENTER,60,-1); m_list.InsertColum
38、n(1,年齡,LVCFMT_CENTER,60,0); m_list.InsertColumn(2,性別,LVCFMT_CENTER,60,1); /添加數(shù)據(jù) m_list.InsertItem(0,name,1); m_list.SetItemText(0,1,gender); m_list.SetItemText(0,2,age);1285)為主窗口的“確定”按鈕添加事件及代碼void CStep1Dlg:OnOK() / TODO: Add extra validation hereCDialog1 dlg1;UpdateData(false); = m_edit;dlg1.gender = m_rad
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年出國培訓考試試題及答案
- 幼兒園新教師業(yè)務(wù)培訓
- 兒童藝術(shù)培訓園
- 影樓管理培訓總結(jié)
- 教師鋼琴培訓內(nèi)容
- 農(nóng)藥劑型培訓
- 宿州蕭縣幼兒園教師招聘筆試真題2024
- 湖北黃岡黃州區(qū)專項招聘中學教師筆試真題2024
- 北京市消防救援總隊首批政府專職消防員招錄筆試真題2024
- 高度清肌后的護理
- PSSE軟件操作說明
- 教科版科學三年級下冊實驗報告單
- 22S803 圓形鋼筋混凝土蓄水池
- 人力資源管理概論第三章員工招聘、篩選與錄用-董克用
- (完整版)新醫(yī)療器械分類目錄(舊分類對應(yīng)新分類)
- 經(jīng)濟與社會:如何用決策思維洞察生活學習通課后章節(jié)答案期末考試題庫2023年
- 提高臨床標本送檢合格率品管圈PDCA成果匯報
- 護理部工作手冊
- 盱眙龍蝦連鎖美食餐廳營運手冊
- 54 鋰電池安全知識培訓
- 【優(yōu)質(zhì)】廉江變電站擴建安全技術(shù)交底
評論
0/150
提交評論