⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainform1.h

📁 《C++Builder程序设计范例--中国象棋》配书盘自述文件
💻 H
字号:
//---------------------------------------------------------------------------
#ifndef MainFormH
#define MainFormH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Menus.hpp>
#include <Dialogs.hpp>
#include <ExtCtrls.hpp>
#include "CDefines.h"
#include "Global.h"

//---------------------------------------------------------------------------
class TMainForm : public TForm
{
__published:	// IDE-managed Components
        TMainMenu *TChessMenu;
        TMainMenu *TChessEditMenu;
        TMainMenu *TChessThinkMenu;
        TMenuItem *N3;
        TMenuItem *Game;
        TMenuItem *About;
        TMenuItem *Hint1;
        TMenuItem *Exit1;
        TMenuItem *RestoreGame1;
        TMenuItem *NewChessGame1;
        TMenuItem *SaveGame1;
        TMenuItem *Pass;
        TMenuItem *N1;
        TMenuItem *N2;
        TMenuItem *Edit;
        TMenuItem *RedoUndo;
        TMenuItem *UndoMove;
        TMenuItem *MovePiece;
        TMenuItem *Level1;
        TMenuItem *Ply1;
        TMenuItem *Infinite;
        TMenuItem *Easy;
        TMenuItem *Mate;
        TMenuItem *MoveTime;
        TMenuItem *TotalTime;
        TMenuItem *Matching;
        TMenuItem *Options;
        TMenuItem *Sound;
        TMenuItem *MouseMove;
        TMenuItem *Demo;
        TMenuItem *TwoPlayer;
        TMenuItem *N30;
        TMenuItem *PieceValues;
        TMenuItem *MouseDrag;
        TMenuItem *MouseSelect;
        TMenuItem *Display;
        TMenuItem *BestPath;
        TMenuItem *Reverse;
        TMenuItem *Colors;
        TMenuItem *Done;
        TMenuItem *Clear;
        TMenuItem *Cancel;
        TMenuItem *Turn;
        TMenuItem *RedTurn;
        TMenuItem *BlackTurn;
        TMenuItem *Stop;
        TOpenDialog *OpenDialog1;
        TSaveDialog *SaveDialog1;
        TTimer *Timer1;
        TMenuItem *SaveGameAs1;

        void __fastcall FormCreate(TObject *Sender);
        void __fastcall FormShow(TObject *Sender);
        void __fastcall FormPaint(TObject *Sender);
        void __fastcall FormMouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y);
        void __fastcall NewChessGame1Click(TObject *Sender);
        void __fastcall RestoreGame1Click(TObject *Sender);
        void __fastcall SaveGameAsClick(TObject *Sender);
        void __fastcall SaveGame1Click(TObject *Sender);
        void __fastcall AboutClick(TObject *Sender);
        void __fastcall MovePieceClick(TObject *Sender);
        void __fastcall ClearClick(TObject *Sender);
        void __fastcall CancelClick(TObject *Sender);
        void __fastcall DemoClick(TObject *Sender);
        void __fastcall InfiniteClick(TObject *Sender);
        void __fastcall MateClick(TObject *Sender);
        void __fastcall Ply1Click(TObject *Sender);
        void __fastcall TwoPlayerClick(TObject *Sender);
        void __fastcall ReverseClick(TObject *Sender);
        void __fastcall UndoMoveClick(TObject *Sender);
        void __fastcall RedoUndoClick(TObject *Sender);
        void __fastcall EasyClick(TObject *Sender);
        void __fastcall DoneClick(TObject *Sender);
        void __fastcall Hint1Click(TObject *Sender);
        void __fastcall PassClick(TObject *Sender);
        void __fastcall RedTurnClick(TObject *Sender);
        void __fastcall BlackTurnClick(TObject *Sender);
        void __fastcall ColorsClick(TObject *Sender);
        void __fastcall PieceValuesClick(TObject *Sender);
        void __fastcall BestPathClick(TObject *Sender);
        void __fastcall MouseDragClick(TObject *Sender);
        void __fastcall MouseSelectClick(TObject *Sender);
        void __fastcall FormMouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y);
        void __fastcall SoundClick(TObject *Sender);
        void __fastcall FormDestroy(TObject *Sender);
        void __fastcall MoveTimeClick(TObject *Sender);
        void __fastcall TotalTimeClick(TObject *Sender);
        void __fastcall MatchingClick(TObject *Sender);
        void __fastcall Exit1Click(TObject *Sender);
        void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
        void __fastcall Timer1Timer(TObject *Sender);
private:	// User declarations

 TForm* ChildForms[3];

   void SetMainWindowBk();
   void SaveGameAs();
   void EndGame();
   void DoEdit();
   void ComputersTurn();
   void UnCheckLevelMenu(LEVELTYPE);
   void NormalSetup();
   void CheckLevelMenu(LEVELTYPE);

     MESSAGE void EMError(TMessage &Msg);
     MESSAGE void FileNew(TMessage &Msg);
     MESSAGE void Exit(TMessage &Msg);
 protected:

public:		// User declarations
   __fastcall TMainForm(TComponent* Owner);
   enum TURNTYPE { player, computer };
   bool blNewChessGame;             // 是否开始新的游戏
   char *FileName;           // 上次存储的文件名
   RECT MainWndRect;         // 主窗体的矩形范围
   RECT InfoAreaRect;        // 信息窗体的矩形范围
   TURNTYPE WhoseTurn;       // 轮到是玩家还是计算机?
   SQUARETYPE MoveStartSquare; // 开始移动的方格
   SQUARETYPE MoveEndSquare; // 结束移动的方格
   COLORTYPE CurPlayer;      // 当前的玩家
   bool GotStartSquare;      // 用户选择了一个活动棋子进行移动?
   bool Modified;            // 棋盘一直处于编辑模式是否已改变?
   bool EditingChessBoard;        // 用户是否在编辑棋盘
   bool Dragging;            // 处于拖动模式?
   BOARDTYPE *SaveChessBoard;
   int MouseX,MouseY;
   /*
   重载消息处理方法
   */
BEGIN_MESSAGE_MAP
  MESSAGE_HANDLER(IDM_ERROR, TMessage, EMError);
  MESSAGE_HANDLER(IDM_FILENEW,TMessage,FileNew);
  MESSAGE_HANDLER(IDM_EXIT,TMessage,Exit);
END_MESSAGE_MAP(TForm);
};
//---------------------------------------------------------------------------
extern PACKAGE TMainForm *MainForm;
//---------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -