资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,第五讲Windows界面编程1,主讲:何军 2011-秋季学期,2,Refreshing,窗口程序“Hello World” Windows的消息驱动 Windows的Callback机制,3,4,Outline,在程序中使用资源 程序中的键盘消息与鼠标消息 实例:简单的打字程序 小结,5,1. 在程序中使用资源,6,1.1 什么是资源,资源是与程序相关的有用的数据 菜单、图标、位图、快捷键、字符串表、对话框、光标 . 除此之外,用户还可以自定义资源,7,1.2 如何使用资源,Visual Studio管理资源,8,1.2 如何使用资源,资源ID(唯一标识码) 菜单 图标 游标,9,1.2 如何使用资源,菜单命令 ID 名字,10,1.2 如何使用资源,Win32 API 菜单相关:LoadMenu,SetMenu 图标相关:LoadIcon 游标相关:LoadCursor,11,1.2 如何使用资源,程序如何执行菜单中的命令 菜单中的命令:也是消息 问题:在哪个函数处理菜单中的命令?,12,1.2 如何使用资源,响应菜单中的命令 消息处理函数WndProc WM_COMMAND LOWORD(wParam) 标识哪一条菜单命令被触发 ID_FILE_EXIT,13,2. 键盘消息与鼠标消息,14,2.1 键盘消息,键盘消息 WM_KEYDOWN, WM_SYSKEYDOWN WM_KEYUP, WM_SYSKEYUP,15,2.1 键盘消息,键盘消息 TranslateMessage WM_CHAR,/ Main message loop: while (GetMessage( ,16,2.1 键盘消息,进一步细节 wParam:键的虚拟键码 lParam:该按键的状态,17,2.1 键盘消息,按下A键,观察wParam WM_KEYDOWN:0 x41(A) WM_CHAR:0 x61 (a) WM_KEYUP:0 x41 (A),18,2.2 鼠标消息,19,2.2 鼠标消息,进一步细节lParam 鼠标的位置坐标(x,y) x=LOWORD(lParam) y=HIWORD(lParam),20,2.2 鼠标消息,进一步细节wParam 鼠标的状态 MK_LBUTTON, MK_MBUTTON, MK_RBUTTON, MK_SHIFT, MK_CONTROL if (wParam & MK_CONTROL),21,3. 实例剖析,22,简单的打字程序,具有简单的菜单和自定义的图标 设置简单的字体颜色与背景色 在客户区实时的打印出键盘输入的字符 能够响应鼠标事件,23,24,3.1 使用资源,使用Visual Studio资源编辑器管理资源 菜单、图标、对话框等等 使用Win32 API在程序中引入资源,25,3.2 设置颜色,设置字体颜色 SetTextColor 设置背景颜色 SetBkColor,26,3.3 打字并输出,问题 在程序的什么地方接收键盘输入? 在程序的什么地方输出键盘的输入?,27,3.3 打字并输出,接收键盘的输入 消息处理的WndProc函数 WM_CHAR 输出键盘的输入 消息处理的WndProc函数 WM_PAINT,28,3.4 鼠标消息处理,问题 在程序的什么地方捕获鼠标消息? 在程序的什么地方输出捕获的鼠标消息?,29,3.4 鼠标消息处理,捕获鼠标消息 消息处理的WndProc函数 WM_LBUTTONDOWN 输出捕获的鼠标消息 消息处理的WndProc函数 WM_PAINT,30,本节课小结,31,重要概念,程序中的资源 键盘事件与消息 鼠标事件与消息 WM_COMMAND消息的处理,32,新的Win32API,资源相关 LoadMenu, SetMenu, LoadCursor, LoadIcon 界面相关 SetWindowText SetTextColor, SetBkColor, GetSysColor InvalidateRect 几个有用的宏 RGB, LOWORD, HIWORD,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号