[工学]vc第3章Windows编程基础.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]vc第3章Windows编程基础

第3章 Windows 应用程序基础 * VC++面向对象与可视化程序设计 * 3.4.2源程序组成结构 入口函数WinMain 窗口函数WndProc Windows应用程序 构成基 本框架 包含各种数据类型、数据结构与函数等 1. 所有应用程序的入口, 类似Main函数, 2. 完成一系列的定义和初始化, 并产生消息循环 WinMain和WinProc是 Windows应用程序的主体 1. WinMain函数 三个基本的组成部分: 函数说明 初始化 消息循环 功能 注册窗口类,建立窗口及初始化 进入消息循环,据接受的消息调用相应的处理过程 当消息循环检索到WM_QUIT时终止程序运行 注意!Win是多任务管理的,同一应用程序可能同时存在多个窗口,Win系统对每个窗口的执行称为一个实例,并用一个实例句柄来唯一标识 (1) 函数说明 int WINAPI WinMain ( HINSTANCE hThisInst,∥应用当前实例句柄 HINSTANCe hPrevInst,∥应用其他实例句柄 LPSTR lpszCmdLine, ∥指向命令行参数的指针 Int nCmdShow ∥初始窗口显示方式的整数值标识 ) (2) 初始化 窗口类的定义:定义窗口的形式与功能 LoadIcon() LoadCursor() GetStockObject() 窗口类的注册:窗口类必须先注册后使用 RegisterClass() 创建窗口实例 CreateWindow() 显示窗口 ShowWindow() UpdateWindow() (a)窗口类定义 通过给窗口类WNDCLASS赋值完成,该数据结构中包含窗口类的各种属性。窗口类定义常用以下函数: LoadIcon加载一个窗口图标。其原型为: HICON LoadIcon ( HINSTANCE hInstance, LPCTSTR lpIconName ) 图标资源名或系统预定义图标标识名 图标资源模块句柄 (a)窗口类定义(续) LoadCursor加载一个窗口光标 HCURSOR LoadCursor ( HINSTANCE hInstance, LPCTSTR lpCursorName) GetStockObject获取系统提供的背景刷 HBRUSH GetStockObject(int nBrush); 光标资源名或系统预定义图标标识名 光标资源模块句柄 (b)注册窗口类 Win系统提供部分预定义的窗口类,程序员也可以自定义窗口类,窗口类必须先注册后使用。由函数RegisterClass()实现注册。 RegisterClass(wndclass); //wndclass为窗口类结构 RegisterClass函数的返回为布尔值,注册成功则返回真 (c) 创建窗口示例 由函数CreateWindow()创建窗口类的实例。 HWND Create Window ( LPCTSTR lpszClassName, ∥窗口类名 LPCTSTR lpszTitle, ∥窗口标题名 DWORD dwStyle, ∥创建窗口的样式 int x,y, ∥窗口左上角坐标 int nWidth,nHeight, ∥窗口宽度和度高 HWND hwndParent, ∥该窗口的父窗口句柄 HWENU hMenu, ∥窗口主菜单句柄 HINSTANCE hInstance, ∥应用程序当前句柄 LPVOID lpParam ∥指向传递给窗口的参数值的指针 ) 由ShowWindow和UpdateWindow显示 调用ShowWindow函数在屏幕上显示窗口 ShowWindow(hwnd,nCmdshow); //nCmdshow为窗口显示形式标识 (d)显示窗口 (d)显示窗口(续) 显示窗口后,调用UpdateWindow更新并绘制用户区,并发出WM_PAINT消息。 UpdateWindow(hwnd); * (3) 消息循环 消息循环的常见格式如下: MSG Msg; … while (GetMessage (Msg,NULL,0,0)) { TranslateMessage(Msg); DispatchMessage(Msg); } 将消息的虚拟键 转换为字符信息 将消息传送到 指定窗口函数 从消息队列中读取 一条消息,并将消 息放在MSG结构中 其中函数GetMessage形式为: GetMessage (lpMSG, //指向MSG结构的指针 hwnd, nM

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档