




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第 4章 應用程序(HELLOWIN.c)的 分析 本章本章詳細地介紹HELLOWIN.C中的中的窗口類結構以及各個 條款的作用和意義并介紹根據窗口類結構創(chuàng)建窗口的方法 HELLOWIN.C的的WinMain函數分成:定義變量定義變量, 定義窗口定義窗口 類變量類變量,填寫窗口類條款填寫窗口類條款,注冊窗口類注冊窗口類,創(chuàng)建窗口創(chuàng)建窗口, 在屏幕上在屏幕上 顯示窗口顯示窗口,消息循環(huán)等消息循環(huán)等七段, 本章對它們進行了解釋.并初步 介紹與HELLOWIN.C密切聯系的窗口函數密切聯系的窗口函數WndProc,使大使大 家對窗口消息的處理有一個基本認識家對窗口消息的處理有一個基本認識.通過本章的
2、學習使 大家對Windows應用程序的整體結構,組成,工作原理有一 個粗淺的認識. WinMain函數是應用程序的入口點, 其關鍵作用是為 Windows應用程序創(chuàng)建窗口和進行消息循環(huán)。 4.1 HELLOWIN.c應用程序(請見 4HELLOWIN) Windows是一個多任務操作系統(tǒng),每一個 作業(yè)都需要在屏幕上運行一個窗口,這個 窗口用于顯示作業(yè)運行的情況,顯示運行 結果,用于運行時和用戶交互的界面,相 反,屏幕上的每一個窗口都聯系著一個作 業(yè)。所以,每一個應用程序都應包括 HELLOWIN.C程序中的WinMain函數代碼 的大部分。 4.2 WinMain函數的四個參數 Windows
3、程序的進入點是WinMain,它的四 個參數介紹: Windows程序的進入點是程序的進入點是WinMain,原型在,原型在WINBASE.H中,如下所示:中,如下所示: int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) ; 4.2 WinMain函數的四個參數 WinMain的第一個參數是的第一個參數是HINSTANCE hInstance,這里,HINSTANCE是數 據類型, hInstance稱為執(zhí)行實例代號,簡稱實例代號。 當應用程序要執(zhí)行時
4、操作系統(tǒng)首先為應用程序分配一個進程空間并在進程空 間中建立一個實例,為實例分配一個實例代號并存入hInstance。實例代號實 際上是一個指針,它指向要調用的執(zhí)行實例。 WinMain的第二個參數是的第二個參數是hPrevInstance,在32位Windows版本中,進程空 間都是獨立的,該概念已被拋棄,所以傳給WinMain的第二個參數總是NULL (定義為0)。 WinMain的第三個參數是指向命令序列的指針的第三個參數是指向命令序列的指針,就像Main的參數一樣,某些 Windows應用程序利用這個指針在啟動程序時將文件載入存貯器。 WinMain的第四個參數指出應用程序的窗口的最初顯
5、示方式的第四個參數指出應用程序的窗口的最初顯示方式:正常顯示、最 大化地顯示、最小化顯示。 WinMain前面有兩個單詞, int申明此函數返回一個整數,WINAPI識別字在 WINDEF.H定義,語句如下: #define WINAPI _stdcall 4.3 窗口類結構窗口類結構WNDCLASS 窗口類結構與窗口類的聯系和區(qū)別? 窗口類結構是內定的。 4.3 窗口類結構窗口類結構WNDCLASS WNDCLASS的實現的實現 虛擬窗口類結構虛擬窗口類結構WNDCLASS分別取作分別取作WNDCLASSA或或WNDCLASSW。 它們的實現軟件如下:它們的實現軟件如下: #ifdef UN
6、ICODE/如果是如果是UNICODE碼碼 typedef WNDCLASSW WNDCLASS ; typedef PWNDCLASSW PWNDCLASS ;/指針指針 typedef NPWNDCLASSW NPWNDCLASS ;/近指針近指針 typedef LPWNDCLASSW LPWNDCLASS ;/長指針長指針 #else /不是不是UNICODE碼碼 typedef WNDCLASSA WNDCLASS ; typedef PWNDCLASSA PWNDCLASS ;/指針指針 typedef NPWNDCLASSA NPWNDCLASS ;/近指針近指針 typedef
7、 LPWNDCLASSA LPWNDCLASS ;/長指針長指針 #endif 4.4 WNDCLASS各條款介紹各條款介紹 WNDCLASS結構結構 typedef struct _WNDCLASS UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HANDLE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; WNDCLASS; 4.4 WNDCL
8、ASS各條款介紹各條款介紹 WNDCLASS結構變量賦值結構變量賦值 wndclass.style = CS_HREDRAW | CS_VREDRAW ; /顯示窗口的式樣顯示窗口的式樣 wndclass.lpfnWndProc = WndProc ; / 窗口消息處理程序地址窗口消息處理程序地址 wndclass.cbClsExtra = 0 ;/額外空間額外空間 wndclass.cbWndExtra = 0 ;/額外空間額外空間 wndclass.hInstance = hInstance ;/實例代號實例代號 wndclass.hIcon = LoadIcon (NULL, IDI_A
9、PPLICATION) ;/載入圖標載入圖標 wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;/載入鼠標載入鼠標 wndclass.hbrBackground= (HBRUSH) GetStockObject (WHITE_BRUSH) ; /背景畫刷背景畫刷 wndclass.lpszMenuNam= NULL ;/菜單名菜單名 wndclass.lpszClassName= szAppName ;/窗口類名窗口類名 4.4 WNDCLASS各條款介紹各條款介紹 第1個條款是wndclass.style 它用它用 CS_HREDRAW | C
10、S_VREDRAW 填寫, 前綴CS_代表代表class style ,用前綴CS_定定 義的識別字。義的識別字。 4.4 WNDCLASS各條款介紹各條款介紹 第CS_定義的識別字定義的識別字 #define CS_VREDRAW ox0001/如果窗口的高度發(fā)生變化,通知如果窗口的高度發(fā)生變化,通知Windows #define CS_HREDRAW ox0002/如果窗口的水平尺寸發(fā)生變化,通知如果窗口的水平尺寸發(fā)生變化,通知Windows #define CS_KEYCVTWINDOW ox0004 #define CS_DBLCLKS ox0008/有鼠標雙擊事件,通知有鼠標雙擊事件
11、,通知Windows #define CS_OWNDC ox0020 #define CS_CLASSDC ox0040 #define CS_PARENTDC ox0080 #define CS_NOKEYCVT ox0100 #define CS_NOCLOSE ox0200 /系統(tǒng)菜單沒有系統(tǒng)菜單沒有close項項 #define CS_SAVEBITS ox0800 #define CS_BYTEALIGNCLIENT ox1000 #define CS_BYTEALIGNWINDOW ox2000 #define CS_GLOBALCLASS ox4000 /通知通知Windows在
12、在DDL內注冊一個全局類內注冊一個全局類 #define CS_IME ox00010000 4.5節(jié)介紹節(jié)介紹 4.5 與 窗口有 關的識 別字的 介紹, 請見教 材 識別字首 類型 說明 CS窗口類式樣 class style的縮寫 CW建立窗口 CreateWindow函數用的識別字 DT繪制文字 DrawText函數用的識別字 IDI圖標ID IDC游標ID MB消息方塊 MessageBox函數用的識別字 SND聲音 PlaySound函數用的識別字 WM窗口消息 Window Message的縮寫 WS窗口式樣 Window Style的縮寫 4.6 節(jié)介紹節(jié)介紹 4.6 和和 窗
13、口有窗口有 關的幾關的幾 種結構種結構 結構 含義 MSG消息結構 WNDCLASS窗口類結構 PAINTSTRUCT繪圖結構 RECT矩形結構 4.6 MSG介紹介紹 typedef struct tagMSG / msg HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; MSG; 4.6 PAINTSTRUCT介紹介紹 typedef struct tagPAINTSTRUCT / ps HDC hdc; BOOL fErase; RECT rcPaint; BOOL fRestore;
14、 BOOL fIncUpdate; BYTE rgbReserved32; PAINTSTRUCT; 4.6 RECT介紹介紹 typedef struct _RECT LONG left; LONG top; LONG right; LONG bottom; RECT; 4.7代號(句柄) 代號(句柄)是什么? 內核對象及其句柄 1 內核對象的作用 在內核以外有很多的系統(tǒng)組件,處理它們的資源分配、 安全認證等都要執(zhí)行體付出不可忽略的策略開銷。內核通過 一組稱作“內核對象”的簡單對象幫助控制、處理并支持執(zhí) 行體對象的創(chuàng)建,以降低這種開銷。大多數執(zhí)行體級別的對 象都封裝了一個或多個內核對象。 2
15、 內核對象的種類 一個稱作“控制對象”的內核對象集合為控制各種操作 系統(tǒng)功能建立了語義。這個對象集合包括內核進程對象、窗 口、文件和幾個由IO系統(tǒng)使用的對象(例如中斷對象)等。 另一個稱作“調度程序對象”的內核對象集合負責同步 操作并影響線程調度。調度程序對象包括內核線程、互斥體 (Mutex)、事件(Event)、信號量(Semaphore)、定時器等。 3 內核對象的使用方式句柄 每個內核對象只是內核分配的一個內存塊,并且只能由 該內核訪問。由于內核對象的數據結構只能被內核訪問,因 此應用程序無法在內存中找到這些數據結構并直接改變它們 的內容。那么我們的應用程序如何才能操作這些內核對象呢?
16、 解決辦法是,Windows提供了句柄和一組接口函數,內核對 象始終都通過句柄和函數進行訪問。 句柄是一個無符號整數(unsigned int )(通常為32位 的) ,它是內核對象的引用(但不是指針)。句柄的實際 值對程序員來說是無關緊要的。只有Windows知道句柄值和 內核對象的映射關系。程序幾乎總是通過調用Windows函數 來取得和使用句柄,以使用它代表的內核對象。 當調用一個創(chuàng)建內核對象的函數時,該函數就返回一 個用于標識該對象的句柄。然后我們的程序中就可以使用 這個句柄,將這個句柄傳遞給Windows的各個對內核對象進 行操作的函數,這樣,系統(tǒng)就能知道你想操作哪個內核對 象。例如
17、: HANDLEHANDLE CreateFile(CreateFile( LPCTSTRLPCTSTR lpFileName, DWORD, DWORD dwDesiredAccess, , DWORDDWORD dwShareMode, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD, DWORD dwCreationDisposition, , DWORDDWORD dwFlagsAndAttributes, HANDLE, HANDLE hTemplateFile ); ); BOOL B
18、OOL ReadFile(ReadFile( HANDLE HANDLE hFile, , LPVOID LPVOID lpBuffer, , DWORD DWORD nNumberOfBytesToRead, , LPDWORD LPDWORD lpNumberOfBytesRead, , LPOVERLAPPED LPOVERLAPPED lpOverlapped ); ); 句柄在Windows中使用非常頻繁。例如,我們將遇到 HWND(窗口句柄)、HDC(設備環(huán)境句柄)、HICON (圖標句柄)、HCURSOR(鼠標光標句柄)和 HINSTANCE(實例句柄)等。 4 使用句柄的好處
19、所有用戶態(tài)進程只有獲得了內核對象句柄之后才可以 使用這個對象。句柄作為系統(tǒng)資源的間接指針來使用,這 種不直接的方式阻止了應用程序對系統(tǒng)數據結構直接隨便 進行操作。 對象句柄還提供另外的一些好處。首先,除了它們引 用了什么以外,各種句柄之間并沒有不同。這種相似性為 引用對象提供了統(tǒng)一的接口。其次,對象管理器有創(chuàng)建句 柄和定位句柄引用對象的專用權限。這就意味著對象管理 器能夠細察影響對象的每個用戶態(tài)的操作,以檢查調用者 的安全配置文件是否允許在該對象上執(zhí)行所請求的操作。 4.7代號(句柄) HELLO WIN.c中 用的代號 識別 字 含義 HINST AN CE 執(zhí)行代號 HWND窗口代號 HD
20、C 設備描述表代 號 HICO N 圖標代號 HCU R S O R 鼠標游標代號 HBR U S H 4.8函數調用 HELLOWIN至少調用了18個函數調用 *下面函數在WinMain函數中調用* LoadIcon 載入圖標供程序使用。 LoadCursor 載入鼠標游標供程序使用。 GetStockObject 取得一個圖形對象(在這個例子中,是取得繪制窗口背景的畫刷對象) RegisterClass 為程序注冊窗口類 MessageBox 顯示消息方塊。 CreateWindow 根據窗口類結構建立窗口。 ShowWindow 在屏幕上顯示窗口。 UpdateWindow 指示窗口自我
21、更新。 GetMessage 從消息隊列中取得消息。 TranslateMessage 轉譯某些鍵盤消息。 DispatchMessage 將消息發(fā)送給窗口函數。 * 下面函數在WndProc函數中調用* PlaySound 播放一個音響文件。 BeginPaint 開始繪制窗口。 GetClientRect 取得窗口顯示區(qū)域的大小。 DrawText 顯示字符串。 EndPaint 結束繪制窗口。 PostQuitMessage 在消息隊列中插入一個“退出程序”消息。 DefWindowProc 執(zhí)行內定的消息處理。 4.9 節(jié) 解釋為什么要注冊窗口類,如何注冊窗口 類? 4.10創(chuàng)建窗口
22、創(chuàng)建窗口CreateWindow函數 HWND CreateWindow( LPCTSTR lpClassName, / pointer to registered class name LPCTSTR lpWindowName, / pointer to window name DWORD dwStyle, / window style int x, / horizontal position of window int y, / vertical position of window int nWidth, / window width int nHeight, / window heig
23、ht HWND hWndParent, / handle to parent or owner window HMENU hMenu, / handle to menu or child-window identifier HANDLE hInstance, / handle to application instance LPVOID lpParam / pointer to window-creation data ); 4.10創(chuàng)建窗口 用CreateWindow 創(chuàng)建窗口 hwnd = CreateWindow (szAppName, /1 window class name TEXT
24、 (The Hello Program), /2 window caption WS_OVERLAPPEDWINDOW,/3 window style CW_USEDEFAULT, /4 initial x position CW_USEDEFAULT, /5 initial y position CW_USEDEFAULT, /6 initial x size CW_USEDEFAULT, /7 initial y size NULL, /8 parent window handle NULL, /9 window menu handle hInstance, /10 program ins
25、tance handle NULL ) ; /11 creation parameters 4.11顯示窗口 顯示窗口函數ShowWindow() BOOL ShowWindow( HWND hWnd, / handle to window int nCmdShow / show state of window ); 4.11更新窗口 更新窗口函數UpdateWindow () BOOL UpdateWindow( HWND hWnd / handle of window ); The UpdateWindow function updates the client area of the s
26、pecified window by sending a WM_PAINT message to the window if the windows update region is not empty 4.12消息循環(huán) 基本消息循環(huán) 1 消息(Message)和消息隊列 消息是一種報告有關事件發(fā)生的通知,可以認為消 息是事件到達Windows內部后的另一種稱呼。它的表現 形式是一個無符號整數(unsigned int),Windows預定 義了1024個標準消息,整數值從0到1023。對消息的理解 將是學習如何寫作Windows程序所必須越過的障礙之一。 消息隊列是一個系統(tǒng)定義的內存塊,用于
27、臨時存儲 消息。有兩種消息隊列,一種是Windows 維護的,稱為 系統(tǒng)消息隊列。第二種是應用程序自己的消息隊列,它 是當程序開始執(zhí)行后, Windows為該程序建立的。 (消息處消息處 理函數理函數) (消息處消息處 理函數理函數) 2 消息的分類 從消息的發(fā)送途徑上看,消息分兩種:隊列消息 和非隊列消息。隊列消息送到系統(tǒng)消息隊列,然后到線 程消息隊列;非隊列消息直接送給目標窗口函數。 從消息的來源看,有以下四種: (1)輸入消息:包括鍵盤和鼠標的輸入。這一類消 息首先放在系統(tǒng)消息隊列中,然后由Windows將它們送 入應用程序消息隊列中,由應用程序來處理。 (2)控件消息:用來與Windo
28、ws的控件對象,如列表 框、按鈕、檢查框等進行雙向通信。例如當用戶在列表 框中改動當前選擇時發(fā)出此類消息。這類消息一般不 經過應用程序消息隊列,而是直接發(fā)送到控件對象上去。 (3)系統(tǒng)消息:對程序化的事件或系統(tǒng)時鐘中斷作出反 應。一些系統(tǒng)消息,象DDE消息(動態(tài)數據交換消息)要通 過Windows的系統(tǒng)消息隊列,而有的則不通過系統(tǒng)消息隊列 而直接送入應用程序的消息隊列,如創(chuàng)建窗口消息。 (4)用戶消息:這是程序員自己定義并在應用程序中主 動發(fā)出的,一般由應用程序的某一部分內部處理。 從類型看,可以分為三種:窗口消息、命令消息和控 件通知。窗口消息(Window Message)一般與窗口的內部
29、運作 有關,如創(chuàng)建窗口、繪制窗口和銷毀窗口等,通常這類消息 是從系統(tǒng)發(fā)送到窗口,或從窗口發(fā)送到窗口。命令消息 一般與處理用戶請求相關,當用戶單擊一個菜單項或工具 欄時,命令消息產生,并被發(fā)送到能處理該請求的類對象 (如,裝載文件、編輯文本和保存選項等)??丶ㄖǔT?某些重要事件發(fā)生時,由控件窗口發(fā)送到父窗口,如打開 一個組合框??丶ㄖ獮楦复翱谶M一步控制子窗口提供了 機會。 3、消息循環(huán) 事件驅動是靠消息循環(huán)機制來實現的。當程序開始運 行后,窗口就出現在顯示器上。程序現在必須準備讀入鍵 盤和鼠標輸入的數據。Windows為當前執(zhí)行的每個程序維護 一個消息隊列。當發(fā)生了某一個事件之后, Wi
30、ndows將事 件轉換為一個消息并將消息放入相應程序的消息隊列中。 程序通過執(zhí)行一塊稱之為“消息循環(huán)”的程序代碼從消息 隊列中取出消息: while (GetMessage ( DispatchMessage ( 消息循環(huán)以GetMessage()調用開始,它請求Windows從 消息隊列中取出一個消息來填充消息結構體的各個字段。 第二、第三和第四個參數設定為NULL或者0,表示程序希 望接收它自己建立的所有窗口的所有消息。 TranslateMessage () 將msg結構體傳給Windows,進行 一些鍵盤轉換。 DispatchMessage () 又將msg結構體回傳給Windows
31、。 然后,Windows將該消息發(fā)送給適當的窗口消息處理函數, 讓它進行處理。這也就是說,Windows將調用窗口消息處理 函數。 處理完消息之后,窗口消息處理函數返回到Windows。 此時,Windows還停留在DispatchMessage()調用中。在結束 DispatchMessage()調用之后,Windows回到應用程序,并且 接著從下一個GetMessage()調用開始消息循環(huán)。 一個Windows程序可以包含多個窗口消息處理函數。 通常,窗口消息處理函數總是定義為如下形式: 4 消息結構體MSG 為了從消息隊列獲取消息信息,需要使用MSG結構 體。MSG 結構體的定義如下:
32、hwnd 接收消息的窗口代號。在HELLOWIN程序中,這一 參數與CreateWindow傳回的hwnd值相同,因為這是該程 序擁有的唯一窗口。 message 消息識別字。這是一個數值,用于標識消息。 對于每個消息,均有一個對應的識別字,這些識別字定義 在WINUSER.H中,消息的前綴用WM(window message) 表示。例如,用戶將鼠標游標放在HELLOWIN顯示區(qū)域之 內,并按下鼠標左按鈕,Windows就在消息隊列中放入一 個消息,該消息的message條款等于 WM_LBUTTONDOWN。這是一個常數,其值為0 x0205. wParam 一個32位的message p
33、arameter(消息參 數),其含義和數值根據消息的不同而不同。 lParam 一個32位的消息參數,其值與消息有關。 time 消息放入消息隊列中的時間。 pt 獲得消息時的鼠標座標。 POINT結構體 typedef struct tagPOINT LONG x ; LONG y ; POINT, * PPOINT; 4.13 窗口函數 窗口函數是處理消息的函數,窗口函數確 定了在窗口顯示區(qū)域內顯示什么以及窗口 怎樣響應用戶的輸入。 窗口函數的基本結構窗口函數的基本結構 使用switch和 case結構來確定窗口函數接收的消息并處 理它 。 4.13 窗口函數 窗口消息WM_CREATE
34、 , WM_PAINT消息消息 ,WM_DESTROY消息消息 是什么情況下產生?做些什么事? 詳細研究三種消息及其處理 WM_CREATE 窗口消息處理函數接收的第一個消息是WM_CREATE。 在WinMain ()中調用CreateWindow()時,Windows將做一些 它必須做的工作,包括發(fā)出WM_CREATE消息。具體做法 是,調用WndProc(),將第一個參數設定為窗口句柄,第二 個參數設定為WM_CREATE,然后等待WndProc()返回。 WndProc處理WM_CREATE消息,然后將控制傳回給 Windows。 Windows就可以從CreateWindow()調用
35、中回到 WinMain()中進行下一步的處理。 在我們的例子中,對這個消息的處理為播放一個名為 HELLOWIN.WAV的聲音文件。它簡單地使用PlaySound()函 數來做到這一點。然后,從窗口消息處理函數中傳回0,結 束了整個WM_CREATE的處理。 WM_PAINT 這個消息在Windows程序設計中非常重要。當窗口客 戶區(qū)的一部分顯示內容或者全部變?yōu)椤盁o效”時,系統(tǒng)將 發(fā)出這條消息,通知程序重繪客戶區(qū)。 客戶區(qū)的顯示內容什么時候會變得無效呢?第一,在 最初建立窗口的時候,整個客戶區(qū)都是無效的,因為程序 還沒有在窗口上畫什么東西。第一條WM_PAINT消息(通 常發(fā)生在WinMain()中調用UpdateWindow()時)指示窗口消 息處理函數在客戶區(qū)上畫一些東西。 另外,當用戶改變窗口的大小時、當用戶將窗口 最小化然后再次將窗口恢復為以前的大小時、在移動窗口 時、當窗口客戶區(qū)被其它窗口遮住后再次顯示時,以及程 序強制使客戶區(qū)無效時,客戶區(qū)內容都會變成無效,窗口 消息處理函數將收到一條WM_PAINT消息。 對WM_PAINT的處理幾乎總是從一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (4.2)文學典型-樊淑敏
- 2025海洋運輸合同匯編
- 2025物流配送合同范本,物流配送合同范本
- 期中卷【期中測試·達標卷】-2023-2024學年八年級地理上冊單元速記·巧練(北京·中圖版)(原卷版)
- 2025工程咨詢合同模板
- 2025年合同無效時仲裁條款的獨立性問題探究
- 2025關于國際航空貨運合同范本
- 2025年入職備案是否等同于簽訂勞動合同
- 2025年貨物倉儲合同書樣本
- Module6 (教學設計)-2024-2025學年外研版(三起)英語四年級上冊
- 第7課《珍視親情+學會感恩》第2框《理解父母+學會感恩》【中職專用】《心理健康與職業(yè)生涯》(高教版2023基礎模塊)
- 無人機駕駛員培訓計劃及大綱
- 自費藥品知情同意書
- 江蘇省書法水平等級證書考試-硬筆書法考試專用紙-(123級)
- 山東省各地市地圖課件
- 全套IATF16949內審核檢查表(含審核記錄)
- 基礎工程量計算表
- 設備報修單表
- 心肺復蘇急救步驟圖例
- 《春夜喜雨》公開課一等獎課件
- 簡易呼吸球囊
評論
0/150
提交評論