




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章应用程序框架和基本流程2.1应用程序框架2.2应用程序的基本流程2.3应用程序框架类第2章应用程序框架和基本流程2.1应用程序框架2.12.1应用程序框架所谓应用程序框架(applicationframework),就是应用程序所应具备的一般性软件模块按一定的结构组成的集合。基于MFC的应用程序框架是定义了程序结构的MFC类库中类的集合。运用MFC应用程序框架能获得标准化的程序结构和用户接口,极大地减轻程序员的负担,使程序员不必过多地考虑用户界面,而把主要精力放在程序设计上,以提高程序设计的效率。2.1应用程序框架所谓应用程序框架(ap2应用程序框架实际上是一个完整的程序模型,具备标准应用软件所需的一切基本功能,如文件存取、打印预览、数据交换,窗口排列,……,以及这些功能的使用接口(菜单、工具栏、状态栏、对话框等)。有了应用程序框架之后,程序员只要依个人需要在派生类中改写虚函数,定义新的数据成员,用资源编辑器增加或修改用户界面,进行消息映射,用MFC类实现框架中未完成的应用程序的特定功能部分。Sample程序应用程序框架实际上是一个完整的程序模型,具备32.1.1应用程序基本结构
Windows应用程序都有一个窗口作为程序的输入/输出和用户操作界面,而内部的运行系依靠外部发生的事件来驱动。在程序启动、创建和显示窗口后,程序不断等待任何可能的输入,然后做判断,再做适当的处理。这里,“输入”是由操作系统通过USER模块捕捉到之后,以消息形式(一种数据结构)进入程序的消息队列之中。因此,为了不断地从消息队列中获取消息,转换消息,分配消息给适当的处理函数,每一个Windows程序都应该有一个消息循环。2.1.1应用程序基本结构Window4在Windows程序中,接受并处理消息的主角肯定是窗口。因此,每一个窗口都应该有一个函数负责处理消息,我们称此函数为“窗口函数”。窗口函数WindowProc以switch/case的方式判断消息的类别,决定处理的方式。另外,对于一个窗口,还必须有创建窗口的函数CreateWindow和显示窗口的函数ShowWindow。在DOS系统下,C/C++程序都有一个主函数main,控制程序的流程。同样,在Windows系统下,每一个由C/C++编写的Windows程序也有一个主函数AfxWinMain,控制Windows程序的流程。在Windows程序中,接受并处理消息的主角5此外,每个Windows程序实例有一些初始化工作需要完成。因此,就应该定义一个初始化函数:InitInstance。纵上所述,一个Windows程序的基本结构至少包括:消息循环函数Run、窗口函数WindowProc、窗口创建函数CreateWindow、窗口显示函数ShowWindow、主函数AfxWinMain、程序初始化函数InitInstance。此外,每个Windows程序实例有一些初始化6因此,在MFC类库中,应用程序类CWinApp封装了消息循环函数Run、程序初始化函数InitInstance和退出函数ExitInstance。基于上述情况,采用MFC类库开发的所有Windows程序都至少有一个从CWinApp派生的应用程序类和一个从CWnd派生的窗口类,而AfxWinMain函数则由系统提供,不能更改。窗口基类CWnd则封装了窗口函数WindowProc、窗口创建函数Create、窗口显示函数ShowWindow,并把窗口句柄HWND定义为数据成员,还定义了大量的Windows消息处理函数。因此,在MFC类库中,应用程序类CWinA72.1.2使用向导生成应用程序框架
AppWizard可为使用MFC的典型Windows应用程序建立开发项目,提供了一系列的对话框,及多种选项供用户选择,用户可以根据不同的选项生成自己所需的具有各种特征的应用程序框架。AppWizard:参见教材P5~9(图2.1~图2.10。下面通过AppWizard来生成一个最简单的应用程序框架(Hello程序)。2.1.2使用向导生成应用程序框架Ap8从AppWizardStep1可见,MFC生成的应用程序的用户界面只有三种类型:单文档型:主边框窗口+视图+[文档]多文档型:主边框窗口+子边框窗口+视图+[文档]对话框型:对话框+控件我们也可以进一步把MFC应用程序的用户界面简化为二种类型,并简称为窗口型和对话框型:窗口型:边框窗口+视图对话框型:对话框+控件从AppWizardStep1可见,MFC92.2.1创建全局对象2.2应用程序的基本流程应用程序类构成了应用程序的主执行线程。每个基于MFC类库而建立的应用程序都必须有一个且只有一个从CWinApp类派生的全局对象。以Hello程序为例,在应用程序类的实现文件HelloApp.cpp中定义:
CHelloApptheApp;
2.2.1创建全局对象2.2应用程序的基本流程102.2.2AfxWinMain函数main函数是一般C/C++DOS型程序的进入点,而AfxWinMain函数则是Windows程序的进入点。但在VC中程序员不用编写AfxWinMain代码,它是由MFC类库提供的,在应用程序启动时自动调用这个函数。AfxWinMain函数(winmain.cpp)定义为:CWinThread*pThread=AfxGetThread();
AfxWinInit(…);//图形用户界面初始化pThread->InitApplication();//程序初始化
pThread->InitInstance();//程序实例初始化pThread->Run();//消息循环(程序运行)
AfxWinTerm();//程序终止2.2.2AfxWinMain函数mai11InitApplication函数一般没有实质性的内容,程序的初始化主要通过InitInstance函数完成。
InitInstance函数主要完成窗口的创建、显示和更新等重要的初始化工作,是CWinApp派生类中必须改写的成员(虚)函数。2.2.3应用程序的初始化BOOLCHelloApp::InitInstance(){m_pMainwnd=newCHelloFrame();m_pMainwnd->ShowWindow(m_nCmdShow);m_pMainwnd->UpdateWindow();}InitApplication函数一般没有实12现在,执行的脚步到达pThread->Run(),即调用CWinThread的Run函数。Run函数主要是调用全局函数PeekMessage来检查消息队列,若有消息则调用成员函数PumpMessage泵送消息,分配消息给适当的处理函数进行处理。2.2.4消息循环现在,执行的脚步到达pThread->R13theApp//创建全局的应用程序对象AfxWinMain//入口函数AfxWinInit//GUI初始化InitInstance//初始化应用程序实例Create()、ShowWindow()、UpdateWindow()//创建窗口、显示窗口、更新窗口Run()//消息循环,创建视图对象并显示Hello!AfxWinTerm//结束程序2.2.5程序的启动、运行和退出theApp//创建全局的应用程序对象AfxWinMai142.3应用程序框架类及其
主要成员函数应用程序框架构成:应用程序类+边框窗口类和视图类或对话框类和控件类2.3应用程序框架类及其
主要成员函数应用程序框架构成:152.3.1应用程序类每个应用程序都从类CWinApp派生出自己的应用程序类,并定义一个全局对象theApp。该应用程序类包含了Windows下MFC应用程序的初始化、运行和结束过程。CWinApp类在MFC体系中的层次如下图所示。CObjectCCmdTargetCWinTreadCWinApp2.3.1应用程序类每个应用程序都从类C16CWinApp的主要数据成员:m_pszAppName:指定了应用程序名称m_pMainWnd
:指向主边框窗口的指针m_lpCmdLine:指示一个以NULL结尾的字符串,指向应用程序的命令行m_nCmdShow:指示最初如何显示窗口CWinApp的主要成员函数:InitInstance()函数用于初始化实例Run()函数用于处理消息循环ExitInstance()函数使应用程序退出OnIdle()函数用于空闲处理CWinApp的主要数据成员:CWinApp的主要成员函数:172.3.2边框窗口类和视图类1.主边框窗口类每个窗口型的应用程序都有一个且只有一个主边框窗口类CMainFrame。对于单文档,它是从CFrameWnd类派生;对于多文档,它是从CMDIFrameWnd类派生。主边框窗口在屏幕上生成一个带边框的大小可调的桌面窗口,内含一个大的空白工作区域称为视图,它专门负责程序文档数据的屏幕显示和用户对文档的操作。主边框窗口一般还含有菜单栏、工具栏和状态栏。2.3.2边框窗口类和视图类1.主边框窗口类182.子边框窗口类对于多文档的窗口型应用程序,在主边框窗口内还有一个或多个子边框窗口,它由CChildFrame管理,是从CMDIChildWnd类派生。子边框窗口只能位于主边框窗口内,子边框窗口内部完全被视图占据,它不能有自己的菜单栏、工具栏和状态栏。多个子边框窗口与一个主边框窗口共享一套菜单和工具栏。菜单和工具栏显示的内容与当前活动的子边框窗口有关。2.子边框窗口类子边框窗口只能位于主边框窗19视图由视图类管理,有二种视图类:无文档/视图结构支持的应用程序,视图类是直接从CWnd类派生有文档/视图结构支持的应用程序,视图类是从CView或其派生类派生。3.视图视图是边框窗口内的大片空白区域,称为客户区或工作区,负责在屏幕上显示程序的数据,并接受用户的操作。视图由视图类管理,有二种视图类:3.视图20边框窗口类和视图类在MFC体系中的层次如下图所示。CObjectCCmdTargetCWndCFrameWndCMDIFrameWndCMDIChildWndCViewCCtrlViewCScrollView边框窗口类和视图类在MFC体系中的层次如下图214.边框窗口类的主要成员函数Create、LoadFrame用于创建边框窗口PreCreateWindow用于定制边框窗口ShowWindow、UpdateWindow、DestroyWindow用于显示、更新、销毁边框窗口GetActiveView、GetActiveDocument用于获得当前活动的视图和文档EnableDocking、DockControlBar用于允许工具栏停靠和确定具体的停靠位置MDITile、MDICascade用于平铺、层叠所有子窗口MDIGetActive获得当前活动的子边框窗口OnPaint用于重绘屏幕4.边框窗口类的主要成员函数225.视图类的主要成员函数视图类用于程序的输入和输出,其主要成员函数都来自窗口基类CWnd,输入方面主要是改写鼠标消息处理函数,输出方面主要是改写OnPaint函数,以实现屏幕的数据显示和屏幕重绘。但在有文档/视图结构的程序中,OnPaint函数已被改写好,它调用OnDraw函数,因此代以OnDraw函数负责文档的数据显示和屏幕重绘。此处改动的目的是为了便于实现“所见即所得”,即打印函数OnPrint也将调用OnDraw函数,这样就可以实现屏幕显示与打印输出是一致的。5.视图类的主要成员函数但在有文档/视图结构的程序中232.3.3对话框类和控件类1.对话框类对话框有两种类型:对话框型应用程序和临时弹出式对话框,后者又可分为公用对话框、自定义对话框和属性选项卡三种类型。对话框和控件是Windows应用程序的另一种常见窗口。对话框用于在屏幕上显示一个带标题栏和边框的窗口,内部分布着各式各样的多个控件。控件是一种特定类型的输入输出窗口,用于与用户交互。对话框可有可无菜单栏,但一般没有工具栏和状态栏。2.3.3对话框类和控件类1.对话框类对24对话框型应用程序是Windows的一种常见程序类型,如计算器和WindowsMediaPlayer,本教材中的许多程序也是对话框型应用程序。对话框型应用程序的对话框类是直接从CDialog类派生的。2.控件类控件是一种基本的图形用户界面单元,可用于输入或输出。所有控件都必须由相应的父窗口类(对话框类或表单视图类)管理。MFC提供了大量的控件类,还可使用第三方提供的ActiveX控件,以满足用户的各种需求。对话框型应用程序是Windows的一种常见程25MFC控件类可分为三类,一类是在Windows3.x中就已支持的普通控件类,另一类是Windows95/NT/2000中支持的通用控件类,这些控件类都以”Ctrl”结尾。第三类是后期加入的对普通控件类的补充,也是从普通控件类派生的,称为附加控件类,适合于某些特殊应用。通用控件类只能运行在Windows95和/NT3.51及后续版本。另外,对于某些通用控件类来说,应用程序不能定义数据变量而只能创建控件对象。MFC控件类可分为三类,一类是在Window26CObjectCCmdTargetCWndCDialogCCommonDialogCPropertyPageCEditCButtonCListBox对话框类和控件类在MFC体系中的层次如下图所示。CObjectCCmdTargetCWndCDialogCC273.对话框类和控件类的主要成员函数OnInitDialog初始化对话框DoModal显示模态对话框DoDataExchange对话数据交换和数据验证GetDlgItem获得某控件的指针GetDlgItemInt、SetDlgItemInt获取或设置某控件的整形值GetDlgItemText、SetDlgItemText获取或设置某控件的文本DlgDirSelect、DlgDirSelectComboBox获取列表框或组合框中当前选择的项目CheckDlgButton检查按钮的选中标记3.对话框类和控件类的主要成员函数28实验1实验1:运行AppWizard,分别生成4个不同的Hello程序:HelloV(单文档、无文档/视图结构)、HelloD(单文档、文档/视图结构)、HelloM(多文档、无文档/视图结构)、HelloMD(多文档、文档/视图结构)和HDialog(对话框型),对比这五个程序的区别。实验1实验1:运行AppWizard,分别生成4个不同的He29演讲完毕,谢谢观看!演讲完毕,谢谢观看!30第2章应用程序框架和基本流程2.1应用程序框架2.2应用程序的基本流程2.3应用程序框架类第2章应用程序框架和基本流程2.1应用程序框架2.312.1应用程序框架所谓应用程序框架(applicationframework),就是应用程序所应具备的一般性软件模块按一定的结构组成的集合。基于MFC的应用程序框架是定义了程序结构的MFC类库中类的集合。运用MFC应用程序框架能获得标准化的程序结构和用户接口,极大地减轻程序员的负担,使程序员不必过多地考虑用户界面,而把主要精力放在程序设计上,以提高程序设计的效率。2.1应用程序框架所谓应用程序框架(ap32应用程序框架实际上是一个完整的程序模型,具备标准应用软件所需的一切基本功能,如文件存取、打印预览、数据交换,窗口排列,……,以及这些功能的使用接口(菜单、工具栏、状态栏、对话框等)。有了应用程序框架之后,程序员只要依个人需要在派生类中改写虚函数,定义新的数据成员,用资源编辑器增加或修改用户界面,进行消息映射,用MFC类实现框架中未完成的应用程序的特定功能部分。Sample程序应用程序框架实际上是一个完整的程序模型,具备332.1.1应用程序基本结构
Windows应用程序都有一个窗口作为程序的输入/输出和用户操作界面,而内部的运行系依靠外部发生的事件来驱动。在程序启动、创建和显示窗口后,程序不断等待任何可能的输入,然后做判断,再做适当的处理。这里,“输入”是由操作系统通过USER模块捕捉到之后,以消息形式(一种数据结构)进入程序的消息队列之中。因此,为了不断地从消息队列中获取消息,转换消息,分配消息给适当的处理函数,每一个Windows程序都应该有一个消息循环。2.1.1应用程序基本结构Window34在Windows程序中,接受并处理消息的主角肯定是窗口。因此,每一个窗口都应该有一个函数负责处理消息,我们称此函数为“窗口函数”。窗口函数WindowProc以switch/case的方式判断消息的类别,决定处理的方式。另外,对于一个窗口,还必须有创建窗口的函数CreateWindow和显示窗口的函数ShowWindow。在DOS系统下,C/C++程序都有一个主函数main,控制程序的流程。同样,在Windows系统下,每一个由C/C++编写的Windows程序也有一个主函数AfxWinMain,控制Windows程序的流程。在Windows程序中,接受并处理消息的主角35此外,每个Windows程序实例有一些初始化工作需要完成。因此,就应该定义一个初始化函数:InitInstance。纵上所述,一个Windows程序的基本结构至少包括:消息循环函数Run、窗口函数WindowProc、窗口创建函数CreateWindow、窗口显示函数ShowWindow、主函数AfxWinMain、程序初始化函数InitInstance。此外,每个Windows程序实例有一些初始化36因此,在MFC类库中,应用程序类CWinApp封装了消息循环函数Run、程序初始化函数InitInstance和退出函数ExitInstance。基于上述情况,采用MFC类库开发的所有Windows程序都至少有一个从CWinApp派生的应用程序类和一个从CWnd派生的窗口类,而AfxWinMain函数则由系统提供,不能更改。窗口基类CWnd则封装了窗口函数WindowProc、窗口创建函数Create、窗口显示函数ShowWindow,并把窗口句柄HWND定义为数据成员,还定义了大量的Windows消息处理函数。因此,在MFC类库中,应用程序类CWinA372.1.2使用向导生成应用程序框架
AppWizard可为使用MFC的典型Windows应用程序建立开发项目,提供了一系列的对话框,及多种选项供用户选择,用户可以根据不同的选项生成自己所需的具有各种特征的应用程序框架。AppWizard:参见教材P5~9(图2.1~图2.10。下面通过AppWizard来生成一个最简单的应用程序框架(Hello程序)。2.1.2使用向导生成应用程序框架Ap38从AppWizardStep1可见,MFC生成的应用程序的用户界面只有三种类型:单文档型:主边框窗口+视图+[文档]多文档型:主边框窗口+子边框窗口+视图+[文档]对话框型:对话框+控件我们也可以进一步把MFC应用程序的用户界面简化为二种类型,并简称为窗口型和对话框型:窗口型:边框窗口+视图对话框型:对话框+控件从AppWizardStep1可见,MFC392.2.1创建全局对象2.2应用程序的基本流程应用程序类构成了应用程序的主执行线程。每个基于MFC类库而建立的应用程序都必须有一个且只有一个从CWinApp类派生的全局对象。以Hello程序为例,在应用程序类的实现文件HelloApp.cpp中定义:
CHelloApptheApp;
2.2.1创建全局对象2.2应用程序的基本流程402.2.2AfxWinMain函数main函数是一般C/C++DOS型程序的进入点,而AfxWinMain函数则是Windows程序的进入点。但在VC中程序员不用编写AfxWinMain代码,它是由MFC类库提供的,在应用程序启动时自动调用这个函数。AfxWinMain函数(winmain.cpp)定义为:CWinThread*pThread=AfxGetThread();
AfxWinInit(…);//图形用户界面初始化pThread->InitApplication();//程序初始化
pThread->InitInstance();//程序实例初始化pThread->Run();//消息循环(程序运行)
AfxWinTerm();//程序终止2.2.2AfxWinMain函数mai41InitApplication函数一般没有实质性的内容,程序的初始化主要通过InitInstance函数完成。
InitInstance函数主要完成窗口的创建、显示和更新等重要的初始化工作,是CWinApp派生类中必须改写的成员(虚)函数。2.2.3应用程序的初始化BOOLCHelloApp::InitInstance(){m_pMainwnd=newCHelloFrame();m_pMainwnd->ShowWindow(m_nCmdShow);m_pMainwnd->UpdateWindow();}InitApplication函数一般没有实42现在,执行的脚步到达pThread->Run(),即调用CWinThread的Run函数。Run函数主要是调用全局函数PeekMessage来检查消息队列,若有消息则调用成员函数PumpMessage泵送消息,分配消息给适当的处理函数进行处理。2.2.4消息循环现在,执行的脚步到达pThread->R43theApp//创建全局的应用程序对象AfxWinMain//入口函数AfxWinInit//GUI初始化InitInstance//初始化应用程序实例Create()、ShowWindow()、UpdateWindow()//创建窗口、显示窗口、更新窗口Run()//消息循环,创建视图对象并显示Hello!AfxWinTerm//结束程序2.2.5程序的启动、运行和退出theApp//创建全局的应用程序对象AfxWinMai442.3应用程序框架类及其
主要成员函数应用程序框架构成:应用程序类+边框窗口类和视图类或对话框类和控件类2.3应用程序框架类及其
主要成员函数应用程序框架构成:452.3.1应用程序类每个应用程序都从类CWinApp派生出自己的应用程序类,并定义一个全局对象theApp。该应用程序类包含了Windows下MFC应用程序的初始化、运行和结束过程。CWinApp类在MFC体系中的层次如下图所示。CObjectCCmdTargetCWinTreadCWinApp2.3.1应用程序类每个应用程序都从类C46CWinApp的主要数据成员:m_pszAppName:指定了应用程序名称m_pMainWnd
:指向主边框窗口的指针m_lpCmdLine:指示一个以NULL结尾的字符串,指向应用程序的命令行m_nCmdShow:指示最初如何显示窗口CWinApp的主要成员函数:InitInstance()函数用于初始化实例Run()函数用于处理消息循环ExitInstance()函数使应用程序退出OnIdle()函数用于空闲处理CWinApp的主要数据成员:CWinApp的主要成员函数:472.3.2边框窗口类和视图类1.主边框窗口类每个窗口型的应用程序都有一个且只有一个主边框窗口类CMainFrame。对于单文档,它是从CFrameWnd类派生;对于多文档,它是从CMDIFrameWnd类派生。主边框窗口在屏幕上生成一个带边框的大小可调的桌面窗口,内含一个大的空白工作区域称为视图,它专门负责程序文档数据的屏幕显示和用户对文档的操作。主边框窗口一般还含有菜单栏、工具栏和状态栏。2.3.2边框窗口类和视图类1.主边框窗口类482.子边框窗口类对于多文档的窗口型应用程序,在主边框窗口内还有一个或多个子边框窗口,它由CChildFrame管理,是从CMDIChildWnd类派生。子边框窗口只能位于主边框窗口内,子边框窗口内部完全被视图占据,它不能有自己的菜单栏、工具栏和状态栏。多个子边框窗口与一个主边框窗口共享一套菜单和工具栏。菜单和工具栏显示的内容与当前活动的子边框窗口有关。2.子边框窗口类子边框窗口只能位于主边框窗49视图由视图类管理,有二种视图类:无文档/视图结构支持的应用程序,视图类是直接从CWnd类派生有文档/视图结构支持的应用程序,视图类是从CView或其派生类派生。3.视图视图是边框窗口内的大片空白区域,称为客户区或工作区,负责在屏幕上显示程序的数据,并接受用户的操作。视图由视图类管理,有二种视图类:3.视图50边框窗口类和视图类在MFC体系中的层次如下图所示。CObjectCCmdTargetCWndCFrameWndCMDIFrameWndCMDIChildWndCViewCCtrlViewCScrollView边框窗口类和视图类在MFC体系中的层次如下图514.边框窗口类的主要成员函数Create、LoadFrame用于创建边框窗口PreCreateWindow用于定制边框窗口ShowWindow、UpdateWindow、DestroyWindow用于显示、更新、销毁边框窗口GetActiveView、GetActiveDocument用于获得当前活动的视图和文档EnableDocking、DockControlBar用于允许工具栏停靠和确定具体的停靠位置MDITile、MDICascade用于平铺、层叠所有子窗口MDIGetActive获得当前活动的子边框窗口OnPaint用于重绘屏幕4.边框窗口类的主要成员函数525.视图类的主要成员函数视图类用于程序的输入和输出,其主要成员函数都来自窗口基类CWnd,输入方面主要是改写鼠标消息处理函数,输出方面主要是改写OnPaint函数,以实现屏幕的数据显示和屏幕重绘。但在有文档/视图结构的程序中,OnPaint函数已被改写好,它调用OnDraw函数,因此代以OnDraw函数负责文档的数据显示和屏幕重绘。此处改动的目的是为了便于实现“所见即所得”,即打印函数OnPrint也将调用OnDraw函数,这样就可以实现屏幕显示与打印输出是一致的。5.视图类的主要成员函数但在有文档/视图结构的程序中532.3.3对话框
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肋骨骨折健康教育
- 学生素质养成教育动员大会
- 2025五指山市黎母山镇社区工作者考试真题
- 2025双鸭山市尖山区窑地街道社区工作者考试真题
- 2025台州市椒江区下陈街道社区工作者考试真题
- 小朋友学拼音课件
- 肿瘤的姑息治疗及护理
- 学生年终总结
- 中学生防触电安全教育
- 德国思想政治教育内容与途径
- 固体化学导论全套课件
- 2025山西杏花村旅游开发有限公司招聘50人笔试参考题库附带答案详解
- 正式展会合同协议
- 工程甩项合同协议
- 费用开支标准管理制度
- 期中模拟卷(新疆专用)-2024-2025学年八年级英语下学期核心素养素质调研模拟练习试题(考试版)A4
- 甲状旁腺切除术后的护理措施
- 2024慢性鼻窦炎诊断和治疗指南解读课件
- (T8联考)2025届高三部分重点中学3月联合测评生物试卷(含答案详解)河北版
- 员工入职申请表(完整版)
- T-GDEIIA 56-2024 垂直起降低空航空器起降场基础设施配置技术要求
评论
0/150
提交评论