Visual C++程序设计 教学课件 ppt 作者 严迪新 班建民 主编 第二章 Windows程序设计

上传人:E**** 文档编号:89186342 上传时间:2019-05-20 格式:PPT 页数:14 大小:145.50KB
返回 下载 相关 举报
Visual C++程序设计 教学课件 ppt 作者 严迪新 班建民 主编 第二章 Windows程序设计_第1页
第1页 / 共14页
Visual C++程序设计 教学课件 ppt 作者 严迪新 班建民 主编 第二章 Windows程序设计_第2页
第2页 / 共14页
Visual C++程序设计 教学课件 ppt 作者 严迪新 班建民 主编 第二章 Windows程序设计_第3页
第3页 / 共14页
Visual C++程序设计 教学课件 ppt 作者 严迪新 班建民 主编 第二章 Windows程序设计_第4页
第4页 / 共14页
Visual C++程序设计 教学课件 ppt 作者 严迪新 班建民 主编 第二章 Windows程序设计_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《Visual C++程序设计 教学课件 ppt 作者 严迪新 班建民 主编 第二章 Windows程序设计》由会员分享,可在线阅读,更多相关《Visual C++程序设计 教学课件 ppt 作者 严迪新 班建民 主编 第二章 Windows程序设计(14页珍藏版)》请在金锄头文库上搜索。

1、Windows编程方法 窗口 事件驱动 消息 句柄 简单Windows程序,第二章 Windows程序设计,采用交互式方法时,可视化开发平台给出了许多选用的对象,程序员可选择所需对象并确定其属性,由此搭建起应用程序的“大框架”,并可根据需要进一步编写必要的细节代码段,最后构成完整的应用程序,对象是Windows 的规范部件,窗口 菜单 按钮 对话框 程序模块,编写Windows 程序相当一部分工 作是在创建对象和 为对象属性赋值,对象特征:具有规范形态和操作模式,传统编写法API 交互式方法MFC,编程方法,返回,API,API函数 的功能,API函数,返回,窗口的基本概念,返回,事件驱动,返

2、回,消息分发,Windows应用程序利用Windows消息(Message)与应用程序及系统进行信息交换。,typedef struct tagMSG HWND hwnd; 窗口句柄,为null,则可检索所有驻留在消息队列中的消息 UINT message;消息值,由Windows.h头文件中的宏定义来标识 WPARAM wParam; 包含有关消息的附加信息,不同消息其值有所不同 LPARAM lParam; DWORD time; 指定消息送至队列的时间 POINT pt;指定消息发送时屏幕光标的位置, 其数据类型POINT也是一个结构体 MSG;,附加信息与具体 消息号的值有关, 在Wi

3、n中消息用 结构体MSG表示,消息,返回,常用句柄类型及其说明,应用程序通过 句柄访问相应 的对象信息,HWND 窗口句柄 HDC 设备环境句柄 HBITMAP 位图句柄 HCURSOR 光标句柄 HICON 图标句柄 HFONT 字体句柄 HMENU 菜单句柄 HPEN 画笔句柄 HFILE 文件句柄 HBRUSH 画刷句柄 HINSTANCE 当前实例句柄,句柄,返回,int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) MSG msg; HACCE

4、L hAccelTable; / Initialize global strings LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_MY000, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); / Perform application initialization: if (!InitInstance (hInstance, nCmdShow) return FALSE; hAccelTab

5、le = LoadAccelerators(hInstance, (LPCTSTR)IDC_MY000); / Main message loop: while (GetMessage( ,完成一系列的定义和初始化,所有应用程序的入口,类似Main函数,产生消息循环,并处理,WinMain函数,类似Main函数,是所有应用程序的入口 主要工作: 1.注册窗口类 2.建立窗口及执行必要的初始化 3.进入消息循环,处理相应的消息,直到收到退出消息,WinMain函数的说明如下: int WINAPI WinMain ( HINSTANCE hThisInst, 应用程序当前实例句柄 HINSTAN

6、Ce hPrevInst, 应用程序其他实例句柄 LPSTR lpszCmdLine, 指向程序命令行参数的指针 Int nCmdShow 应用程序开始执行时窗口显示方式 ),WinMain函数作用,ATOM MyRegisterClass(HINSTANCE hInstance) WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = (WNDPROC)WndProc; wcex.cbClsExtra = 0; wcex.cbWndE

7、xtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_MY000); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = (LPCSTR)IDC_MY000; wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, (L

8、PCTSTR)IDI_SMALL); return RegisterClassEx( ,加载一个窗口小图标(16X16),加载一个窗口图标(32X32),指定窗口的消息处理函数,加载一个窗口光标,指定窗口的菜单,注册窗口类,while (GetMessage( ,从消息队列中读取一条消息, 并将消息放在MSG结构中,将消息的虚拟键 转换为字符信息,将快捷键消息 转换为窗口信息,将消息传送到 指定的窗口函数,WinMain中的消息循环,创建一个窗口类的实例,创建一个窗口类的实例由函数CreateWindow()实现 函数原型如下: HWND Create Window ( LPCTSTR lps

9、zClassName,窗口类名 LPCTSTR lpszTitle, 窗口标题名 DWORD dwStyle, 创建窗口的样式 int x,y, 窗口左上角坐标 int nWidth,nHeight, 窗口宽度和度高 HWND hwndParent, 该窗口的父窗口句柄 HWENU hMenu, 窗口主菜单句柄 HINSTANCE hInstance, 创建窗口的应用程序当前句柄 LPVOID lpParam 指向一个传递给窗口的参数值的指针 ),LRESULT CALLBACK WndProc( HWND hwnd, UINT messgae, WPARAM wParam,LPARAM lParam ) switch(message) case break; case WM_DESTROY: PostQuitMessage(0); default: return DefWindowProc(hwnd,message,wParam,lParam); return(0); ,为未定义处理过程的消息提供默认的处理,WndProc函数由一个或多个switch语句组成。 每一条case语句对应一种消息,当应用程序 接收到一个消息时,相应的case语句被激活 并执行相应的响应程序模块。,关闭窗口的消息。一般调用退出处理函数,窗口函数的一般形式,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号