实验项目名称
Windows窗口生成及基本事件处理
实验目的
Windows游戏以窗口为基础,学习Windows游戏编程,首先需要了解窗口的生成机制及基本框架代码。其次,为了让窗口响应鼠标及键盘等基本事件,需要了解并掌握如何为窗口添加相应的消息处理代码。
实验任务
根据课堂讲解的理论知识和所提供的基本代码框架的基础上完成如下任务:
1.生成一个基本的Windows窗口程序,要求使用Win32 Application类型;
2.为基本窗口程序增加自绘图标,并将图标应用于程序;
3.为基本窗口程序进一步添加鼠标消息和消息处理代码,做到点击鼠标左键时在窗口的鼠标位置绘制一个图标图案,拖动鼠标时能够连续绘制图标图案;
4.在以上程序的基础上,添加键盘处理消息和相应的处理代码,做到按下键盘的上、下、左、右键时能够朝相应的方向连续绘制图标图案;如果按下鼠标左键,再按下上、下、左、右方向键时,能够以鼠标位置为出发点,朝相应的方向连续绘制图标图案。
实验步骤
1.创建win32 application程序,项目名:test2paint.
2.往资源文件添加光标文件,图标文件
3.对消息处理函数进行修改,这一步很关键,首先明确绘图思路,为了防止图片重绘丢失,我使用一个内存兼容DC与一个兼容位图进行关联,然后使用DrawIcon()将图标绘如内存兼容DC,在执行WM_PAINT时使用bitblt()将内存兼容DC的内容绘到窗口dc中,核心代码如下:
进行必要的全局变量声明: