- 9
- 0
- 约2.9千字
- 约 14页
- 2017-11-12 发布于广东
- 举报
第二章 Windows程序设计 尚辅网 / Windows编程方法 窗口 事件驱动 消息 句柄 简单Windows程序 采用交互式方法时,可视化开发平台给出了许多选用的对象,程序员可选择所需对象并确定其属性,由此搭建起应用程序的“大框架”,并可根据需要进一步编写必要的细节代码段,最后构成完整的应用程序 Windows的 程序设计语言 VC VB VJ 都是“面向对象”的程序设计语言 对象是Windows 的规范部件 窗口 菜单 按钮 对话框 程序模块 编写Windows 程序相当一部分工 作是在创建对象和 为对象属性赋值 对象特征:具有规范形态和操作模式 传统编写法--API 交互式方法--MFC 编程方法 返回 API API函数 的功能 为应用程序提供Windows系统特殊函数及数据结构 Win应用程序可以利用标准大量API函数调用系统功能 是Win系统与Win应用程序间的标准程序接口 窗口管理函数实现窗口的创建、移动和修改功能 系统服务函数:实现与操作系统有关的多种功能 图形设备(GDI)函数:实现与设备无关的图形操作功能 API函数 返回 窗口的基本概念 返回 事件驱动 返回 消息分发 Windows应用程序利用Windows消息(Message)与应用程序及系统进行信息交换。 typedef struct tagMSG {HWND hwnd; 窗口句柄,为null,则可检索所有驻留在消息队列中的消息 UINT message;消息值,由Windows.h头文件中的宏定义来标识 WPARAM wParam; 包含有关消息的附加信息,不同消息其值有所不同 LPARAM lParam; DWORD time; 指定消息送至队列的时间 POINT pt;指定消息发送时屏幕光标的位置, 其数据类型POINT也是一个结构体 }MSG; 消息号:由事先定义好的消息名标识 字参数(wParam) :用于提供消息的附加信息 长字参数(lParam) :用于提供消息的附加信息 消息 附加信息与具体 消息号的值有关, 在Win中消息用 结构体MSG表示 消息 返回 常用句柄类型及其说明 句柄是一个4字节长的数值,用于标识应用程序中不同的对象和同类对象中不同的实例 窗口 按钮 图标 滚动条 输出设备 控制 文件 应用程序通过 句柄访问相应 的对象信息 HWND 窗口句柄 HDC 设备环境句柄 HBITMAP 位图句柄 HCURSOR 光标句柄 HICON 图标句柄 HFONT 字体句柄 HMENU 菜单句柄 HPEN 画笔句柄 HFILE 文件句柄 HBRUSH 画刷句柄 HINSTANCE 当前实例句柄 句柄 返回 int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; HACCEL 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; hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_MY000); // Main message loop: while (GetMessage(msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, msg)) { TranslateMessage(msg); DispatchMessage(msg); } } return msg.wParam; } 完成一系列的定义和初始化 所有应用程序的入口,类似Main函数 产生消息循环,并处理 WinMain函数 类似Main函数,是所有应用程序的入口 主要工作: 1.注册窗口类 2.建立窗口及执行必
您可能关注的文档
- 供配电系统课件作者徐滤非第二章节例2-4章.ppt
- JSP应用开发教程课件作者温超第11章节企业邮箱模拟系统.ppt
- JSP应用开发教程课件作者温超第12章节基于struts的学生管理系统.ppt
- LabVIEW程序设计基础与提高课件作者张兰勇第1章节LabVIEW概述.ppt
- LabVIEW程序设计基础与提高课件作者张兰勇第4章节波形显示与文件操作.ppt
- 光纤通信第2版普通高等教育“十一五”国家级规划教材课件乔桂红光纤通信课件01章.ppt
- LabVIEW程序设计基础与提高课件作者张兰勇第5章节数据采集.ppt
- LabVIEW程序设计基础与提高课件作者张兰勇第6章节MATLAB程序设计基础.ppt
- 光纤通信第2版普通高等教育“十一五”国家级规划教材课件乔桂红光纤通信课件03章.ppt
- Linux网络操作系统课件作者赵军刘猛项目八FTP服务器的配置与管理.ppt
最近下载
- 2026年湘西民族职业技术学院单招职业技能考试题库含答案详解(考试直接用).docx VIP
- 上海市黄浦区2022届高三一模英语卷带答案.pdf VIP
- 2025年一建《建筑工程管理与实务》案例300问.pdf VIP
- 东南大学研究生课程考试成绩单试卷封面.docx VIP
- 2026年医护护士脑出血急救PPT.pptx VIP
- 【高三英语一模】2022届上海青浦区高三英语一模含答案 .pdf VIP
- 内装修-室内吊顶12J502-2.docx VIP
- 2024—2025学年广西崇左市广西大学附属中学高一下学期插班生开学考试英语试卷B卷.doc VIP
- (完整版)Aitken拖延问卷(API).docx VIP
- 学校“最小应急单元”突发事件处置工作指引解读课件.pptx VIP
原创力文档

文档评论(0)