扫雷游戏3求教学

  1. 一、在程序初始化窗口时我们還需要做一些初始化的工作,像加载位图资源、获取位图资源独立部分的尺寸、取菜单句柄、初始化皮肤、调整系统菜单以及初始化各个格子的状态等等我们可以在回调函数WndProc的消息响应中自己添加一个WM_CREATE消息响应,记得养成习惯添加一个配套相应的break语句如图:

  2. 下面我们来演示加载位图资源和获取位图资源独立部分的尺寸,如下图:

  3. 接着我们来初始化皮肤注意一般这个操作放在WM_CREATE消息响应的最后比较好。皮膚我是用SkinMagic并在相应StdAfx头文件中添加两个预处理指令以及相应位置加载皮肤的代码,具体操作如下图:

  4. 还要适当调整系统菜单去掉一些不需要的项。而取菜单句柄和初始化各个格子的状态等操作等我们需要的时候再添加上去暂时可以不用管。具体代码如下图:

  5. 二、现在尝試来在雷区上贴9 X 9的格子图在贴之前要先弄明白一些东西先。上一节我们创建了一个宽度186像素高度272像素的窗口,为什么这么奇怪的数字呢原因是186中多出来的6是边框占据了6个像素,因此真正的客户区宽度是180像素。而272中多出来的32是标题栏、菜单栏等杂七杂八的东西占去了因此,真正的客户区高度是240像素这些都需要自己耐心调试才能明白。所以我们可以在自己的本子上画一个辅助图来帮助我们理清楚这些关系总的客户区尺寸是180 X 240像素,而每个格子是20 X 20像素每行就是20 X 9 = 180像素,刚好占满客户区的宽度而高度是从60像素的位置开始,一直到240像素結束240 – 60 = 180 = 20 X 9,刚好如下图:

  6. 我们添加一对静态变量cxClient和cyClient,用于存放客户区的宽度与高度通过添加WM_SIZE消息,我们可以获取到客户区的宽度与高喥由于VC6.0无法直接在调试状态下查看静态变量的值,这里也介绍了一种方法来跟踪静态变量的值就是用指针来跟踪,事实也证明了客户區的宽度确实为180像素而高度为240像素,具体如图:

  • 本系列文章只适合已经掌握C语言及windows程序设计理论知识想尝试独立编写一个windows程序的朋友,对零基础学习的朋友我不推荐一上来就拿这个程序练手

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域)建议您详細咨询相关领域专业人士。

作者声明:本篇经验系本人依照真实经历原创未经许可,谢绝转载

我要回帖

更多关于 扫雷游戏3 的文章

 

随机推荐