15.4.2 游戏帮助对话框的实现
扫雷游戏中的帮助是使用一个对话框来实现的。其实现步骤如下。
(1)添加一个对话框资源到工程中,并填写说明文字,如图15.5所示。
|
| 图15.5 帮助对话框 |
(2)编写一个CHelpDlg对话框类,主要是加载IDD_HELP对话框资源。通过资源中的文字说明对游戏操作方法进行描述。同时只包含单击"知道了"按钮的响应函数。其类声明如代码15.2所示。
代码15.2 CHelpDlg对话框类声明
- 01 #if !defined(AFX_HELPDLG_H__)
- 02 #define AFX_HELPDLG_H__
- 03
- 04 // HelpDlg.h CHelpDlg类声明头文件
- 05
- 06
- 07 //////////////////////////////////////////////////////////////////
- 08 // CHelpDlg 对话框类
- 09
- 10 class CHelpDlg : public CDialog //公共继承于CDialog类
- 11 {
- 12 public:
- 13 CHelpDlg(CWnd* pParent = NULL); //构造函数
- 14
- 15 //对话框资源
- 16 enum { IDD = IDD_HELP }; //加载资源
- 17
- 18 //重载函数
- 19 protected:
- 20 virtual void DoDataExchange(CDataExchange* pDX);
- 21
- 22 protected:
- 23
- 24 virtual void OnOK();//单击"确定"按钮响应函数声明
- 25 DECLARE_MESSAGE_MAP()
- 26 };
- 27
- 28 #endif
(3)CHelpDlg对话框类的实现,需要实现对话框类的构造函数、析构函数和"知道了"按钮响应函数,其代码如代码15.3所示。
代码15.3 CHelpDlg对话框类的实现
- 01 // HelpDlg.cpp CHelpDlg类的实现源文件
- 02
- 03
- 04 #include "stdafx.h
- //插入头文件
- 05 #include "Othello.h"
- 06 #include "HelpDlg.h
- //插入类声明头文件
- 07
- 08 ////////////////////////////////////////////////////////////////
- 09 // CHelpDlg 对话框类实现
- 10
- 11 CHelpDlg::CHelpDlg(CWnd* pParent /*=NULL*/)//构造函数
- 12 : CDialog(CHelpDlg::IDD, pParent)
- 13 {
- 14 }
- 15
- 16 void CHelpDlg::DoDataExchange(CDataExchange* pDX)
- 17 {
- 18 CDialog::DoDataExchange(pDX);
- 19 }
- 20
- 21 BEGIN_MESSAGE_MAP(CHelpDlg, CDialog)
- 22 END_MESSAGE_MAP()
- 23
- 24 /////////////////////////////////////////////////////////
- 25 // CHelpDlg 消息响应函数
- 26
- 27 void CHelpDlg::OnOK() //单击"知道了"按钮响应函数
- 28 {
- 29 CDialog::OnOK();
- 30 }