资源描述:
《《Windows编程基础》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章Windows编程基础2.1.1简单的Windows应用程序简单的Windows应用程序。[例Ex_HelloMsg]一个最简单的Windows应用程序(1)运行MicrosoftVisualC++6.0后,选择“文件”“新建”菜单命令,打开应用程序向导,显示出“新建”对话框。2.1.1简单的Windows应用程序(2)在工程名称框中键入Win32应用程序项目名称elloMsg。(3)单击[确定]按钮继续。(4)再次选择“文件”“新建”菜单命令,显示出“新建”对话框。“新建”对话框文件页面2.1.1简单的Windows应用程序(6)在文档窗口中
2、输入下面的代码:#includeintWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){MessageBox(NULL,"你好,我的VisualC++世界!","问候",0);return0;}2.1.1简单的Windows应用程序编译并运行程序从上面的程序可以看出:WinMain函数的原型如下:intWINAPIWinMain(HINSTANCEhInstance,//当前实例句柄HINSTANCEhPrevIns
3、tance,//以前的实例句柄LPSTRlpCmdLine,//指向命令行参数的指针intnCmdS//窗口的显示状态每一个Win32应用程序都需要Windows.h头文件,包含了一些Windows头文件。程序中,MessageBox是一个Win32PI(ApplicationProgrammingInterface,应用程序接口)函数,用来弹出一个对话框窗口,显示短信息。2.1.1简单的Windows应用程序[例Ex_HelloWin]一个较完成的Windows应用程序(1)按照Ex_HelloMsg示例方法,创建一个Anemptyproject类型的
4、Win32Application(Win32应用程序)项目Ex_HelloWin。(2)选择“文件”“新建”菜单命令,显示出“新建”对话框。单击“文件”标签,在左边的列表框中选择C++SourceFile项,在右边的“文件”框中键入Ex_HelloWin.cpp,单击[确定]按钮。(3)在文档窗口中输入代码:Ex_HelloMsg示例相比,Ex_HelloWin要复杂的多,可以将其分是两个基本函数的程序结构。函数WndProc用来接收和处理各种不同的消息,而WinMain函数通常要完成以下几步工作:定义并调用API函数RegisterClass注册应用
5、程序的窗口类。2.1.1简单的Windows应用程序函数CreateWindow用来创建已注册窗口类的窗口。CreateWindow函数具有下列原型:HWNDCreateWindow(LPCTSTRlpClassName,//已注册的窗口类名LPCTSTRlpWindowName,//窗口标题DWORDdwStyle,//窗口风格intx,//窗口的水平位置inty,//窗口的垂直位置intnWidth,//窗口宽度intnHeight,//窗口高度HWNDhWndParent,//父窗口句柄HMENUhMenu,//菜单句柄或控件标识HINSTANCE
6、hInstance,//应用程序实例句柄LPVOIDlpParam//其他窗口创建时的参数数据2.1.1简单的Windows应用程序API函数GetMessage和DispatchMessage就是起到这样的作用。如果接收到WM_QUIT消息,则退出应用程序。(4)编译运行程序,窗口中单击鼠标左键,会弹出对话框。2.1.1简单的Windows应用程序Windows应用程序的基本流程:2.1.2Windows编程特点完整的Windows应用程序除了WinMain函数外,包含用于处理用户动作和窗口消息的窗口函数。还会发现一个Windows应用程序还常常具有一
7、些特性:消息驱动机制图形设备接口(GDI)基于资源的程序设计动态链接库1.消息驱动机制Windows程序和控制台应用程序之间一个最根本区别,在于控制台应用程序是通过调用系统函数来获得用户输入,而Windows程序则是通过系统发送的消息来处理用户输入。Windows操作环境中,无论是系统产生的动作或用户运行应用程序产生的动作,称为事件(Events)产生的消息(Message)。2.1.2Windows编程特点4.动态链接库在Windows操作系统中,最主要的DLL有KERNEL32.DLL、GDI32.DLL和USER32.DLL。KERNEL32.DL
8、L用来处理存储器低层功能、任务和资源管理等Windows核心服务;GDI32.D