windows应用程序设计.ppt

上传人:牧羊曲112 文档编号:6523726 上传时间:2023-11-08 格式:PPT 页数:37 大小:364.50KB
返回 下载 相关 举报
windows应用程序设计.ppt_第1页
第1页 / 共37页
windows应用程序设计.ppt_第2页
第2页 / 共37页
windows应用程序设计.ppt_第3页
第3页 / 共37页
windows应用程序设计.ppt_第4页
第4页 / 共37页
windows应用程序设计.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《windows应用程序设计.ppt》由会员分享,可在线阅读,更多相关《windows应用程序设计.ppt(37页珍藏版)》请在三一办公上搜索。

1、1,第3章 Windows应用程序设计,2,Windows应用程序设计,1.Win32 API2.Windows应用程序设计模式3.Windows应用程序的基本结构4.MFC5.动态链接库,3,1.Win32 API,Windows 应用程序与操作系统的关系,4,USER32.DLL:负责处理用户接口GDI32.DLL:负责在图形设备上执行绘图操作KERNEL32.DLL:操作系统核心功能服务COMCTL32.DLL:通用控件库COMDLG32.DLL:公共对话框SHELL32.DLL:用户界面外壳DIBENG.DLL:图形引擎NETAPI32.DLL:网络,5,USER32.DLL:负责窗口

2、管理,包括消息,菜单,光标,通信,计时器和其他控制显示窗口的函数.GDI32.DLL:图形设备接口,他管理用户界面的生成和图形绘制,主要包括设备描述表,字体,位图等.KERNEL32.DLL:Windows的核心,他管理内存调度,进程调度等低层功能.,6,2.Windows应用程序设计模式,窗口,目的是保证用户能够同时访问大多数应用程序应用程序使用窗口来显示输出或接收用户的输入应用程序只有通过窗口才能访问系统显示器;并且通过使用窗口与其他应用程序共享系统显示器,7,事件驱动,Windows 应用程序的执行顺序取决于事件发生的顺序,描述事件发生的信息称为消息,而事件驱动程序设计则是围绕着消息的产

3、生与处理而展开的。,消息可以分为由硬件设备产生的输入消息和来自Windows系统的窗口管理消息,发送消息send指派消息post,8,消息结构的定义如下:typedef struct tagMSG HWND hWnd;/指定消息发向的窗口句柄UINTmessage;/标识消息的消息值WPARAMwParam;/消息参数LPARAM lParam;/消息参数DWORDtime;/消息进入队列的时间POINTpt;/消息进入队列时鼠标指针 的屏幕坐标 MSG,*PMSG,NEAR*NPMSG,FAR*LPMSG;,9,消息结构中各个成员的意义:message是标识消息的消息值或消息名。每个消息都有

4、唯一一个数值标识,常用不同前缀的符号常量以示区别。例如,WM_表示窗口消息。,Windows常用的窗口消息和消息值定义于winuser.h中#define WM_CREATE 0X0001/创建窗口产生的消息#define WM_DESTROY 0X0002/撤销窗口产生的消息#define WM_PAINT 0X000F/重画窗口产生的消息#define WM_CLOSE 0X0010/关闭窗口产生的消息#define WM_CHAR 0X0102/按下非系统键产生的字符消息#define WM_USER 0X0400/用户自定义消息,10,常用Windows句柄类型,11,常用window

5、s数据类型,12,13,基本结构,3.Windows应用程序的基本结构与消息机制,14,范例:一个典型的win32 APP,15,16,4.MFC程序设计,MFC框架程序分析,17,解释AppWizard和ClassWizard使用。解释数据交换UpdateData()UpdateData(true);/用于将屏幕上控件中的数据交换到变量中。UpdateData(false);/用于将数据在屏幕中对应控件中显示出来。,18,消息映射过程粗略分析,TESTDlg.h,关注:afx_msg void OnLButtonDown;virtual void OnOK();,19,TESTDlg.cpp

6、,GetMessageFun();,20,5.动态链接库,动态链接库DLL是一个可执行程序模块,模块中包含了可以被其他应用程序或其他DLL共享的程序代码和资源,21,DLL到进程地址空间的映射,装入时刻动态链接,22,DLL到进程地址空间的映射,运行时刻动态链接,在运行时刻,通过调用LoadLibrary可以使DLL加载到一个进程的地址空间中;为了在运行时刻从DLL中调用一个函数,可以通过调用GetProcAddress获取函数的地址;FreeLibrary释放DLL;,23,DLL到进程地址空间的映射,24,动态链接库的创建和使用,25,程序设计,Introduction to.NET Fr

7、amework,26,.NET What Is It?,Software platformLanguage neutralIn other words:.NET is not a language(Runtime and a library for writing and executing written programs in any compliant language),27,.Net is a new framework for developing web-based and windows-based applications within the Microsoft envir

8、onment.The framework offers a fundamental shift in Microsoft strategy:it moves application development from client-centric to server-centric.,28,Operating System+Hardware,29,Base Class Library,Common Language Specification,Common Language Runtime,ADO.NET:Data and XML,VB,VC+,VC#,Visual Studio.NET,ASP

9、.NET:Web Servicesand Web Forms,JScript,WindowsForms,Framework,Languages,And Tools,30,The.NET Framework Library,Base Class Library,ADO.NET and XML,31,The.NET Framework.NET Framework Services,Common Language RuntimeWindows FormsASP.NETWeb FormsWeb ServicesADO.NET,evolution of ADOVisual Studio.NET,32,C

10、ommon Language Runtime(CLR),CLR works like a virtual machine in executing all languages.All.NET languages must obey the rules and standards imposed by CLR.Examples:Object declaration,creation and useData types,language librariesError and exception handlingInteractive Development Environment(IDE),33,

11、Compilation in.NET,Code in VB.NET,Code in C#,Code in another.NET Language,VB.NET compiler,C#compiler,AppropriateCompiler,IL(IntermediateLanguage)code,CLR just-in-timeexecution,34,Languages,Languages provided by MSVB,C+,C#,J#,JScriptThird-parties are buildingAPL,COBOL,Pascal,Eiffel,Haskell,ML,Oberon,Perl,Python,Scheme,Smalltalk,35,.NET Hierarchy,Another View,CLR,CLR,36,.NET上推荐语言,C#-微软在.NET上最好的支持!,37,作业:,设计一个win32 APP程序,在窗口上点击鼠标实现2的n次方功能。设计实现一个MFC程序,实现计算器的功能。设计一个动态库,实现数学四则运算,然后在windows程序中调用该动态库。理解.NET框架,写出报告。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号