📄 endgamedlog.cpp
字号:
//---------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "EndGameDlog.h"
#include "MainForm1.h"
//---------------------------------------------------------------------
TEndChessGameDlg *EndChessGameDlg;
//---------------------------------------------------------------------
/*
为了动态地创建窗体必须使用双变量构造函数,这样才能安全地忽略警告。
双变量构造函数存在的唯一原因是构造动态窗体。
双变量构造函数创建与DFM文件无关的窗体。
因为动态窗体不使用DFM文件,因此必须构造控件和分配事件句柄并在运行
期间为TEndChessGameDlg设置参数特性。
必须为动态创建的控件设置Top和Left参数。否则,控件将出现在窗体的角上。
同时,也应该为其它起重要作为的控件设置参数。
如果忘记设置原始参数。动态创建的控件将不会出现。
分配YesBtnClick给控件的事件句柄。当用户揿击YesBtn时YesBtnClick将执行。
分配NoBtnClick给控件的事件句柄。当用户揿击NoBtn时NoBtnClick将执行。
*/
__fastcall TEndChessGameDlg::TEndChessGameDlg(TComponent* AOwner,
AnsiString EndGameString): TForm(AOwner,NULL)
{
Left = 65;
Top = 539;
BorderStyle = bsDialog;
Caption = "中国象棋";
ClientHeight = 183;
ClientWidth = 292;
Color = clBtnFace;
ParentFont = True ;
OldCreateOrder = True;
Position = poScreenCenter;
PixelsPerInch = 96;
TBevel *Bevel1 =new TBevel(this);
Bevel1->Parent =this;
Bevel1->Height= 1;
Bevel1->Width = 292;
Bevel1->Left = 0 ;
Bevel1->Top = 120;
TPanel *Panel1 = new TPanel(this);
Panel1->Parent =this;
Panel1->Left = 48;
Panel1->Top = 24;
Panel1->Width = 185 ;
Panel1->Height = 81;
Panel1->BevelOuter = bvLowered;
Panel1->Color = clGrayText;
Panel1->TabOrder = 1 ;
TLabel *Label1 = new TLabel(this);
Label1->Parent =Panel1; //保证Panel1在底层,Label1在顶层
Label1->AutoSize= true;
Label1->Alignment=taCenter;
Label1->Color = clGrayText;
Label1->Font->Charset = DEFAULT_CHARSET;
Label1->Font->Color = clWindowText;
Label1->Font->Height = -17 ;
Label1->ParentColor = False;
Label1->ParentFont = False ;
Label1->Height = 24;
Label1->Width= 50;
Label1->Left = Panel1->Left+Panel1->Width/2-Label1->Width/2-50;
Label1->Top = Panel1->Top+Panel1->Height/2-Label1->Height/2-40;
Label1->Caption=EndGameString;
TLabel *Label2 = new TLabel(this);
Label2->Parent =Panel1; //保证Panel1在底层,Label2在顶层
Label2->AutoSize= true;
Label2->Alignment=taCenter;
Label2->Color = clGrayText;
Label2->Font->Charset = DEFAULT_CHARSET;
Label2->Font->Color = clWindowText ;
Label2->Font->Height = -17 ;
Label2->ParentColor = False;
Label2->ParentFont = False ;
Label2->Width= 60;
Label2->Height = 24;
Label2->Left = Panel1->Left+Panel1->Width/2-Label2->Width/2-50;
Label2->Top = Panel1->Top+Panel1->Height/2-Label2->Height/2;
Label2->Caption="还玩吗?";
TButton *YesBtn = new TButton(this);
YesBtn->Parent =this;
YesBtn->Top=140;
YesBtn->Left=60;
YesBtn->Width= 75;
YesBtn->Height =25;
YesBtn->Caption = "YES";
YesBtn->OnClick = YesBtnClick;
YesBtn->Caption = "Yes";
YesBtn->TabOrder = 0 ;
TButton *NoBtn = new TButton(this);
NoBtn->Parent =this;
NoBtn->Top=140;
NoBtn->Left=170;
NoBtn->Width= 75;
NoBtn->Height =25;
NoBtn->Caption = "NO";
NoBtn->OnClick = NoBtnClick;
NoBtn->Caption = "No";
NoBtn->TabOrder = 1 ;
};
//----------------------------------------------------------------------------
/*
分配NoBtnClick给控件的事件句柄。当用户揿击NoBtn时NoBtnClick将执行。
关闭应用程序。
*/
void __fastcall TEndChessGameDlg::NoBtnClick(TObject *Sender)
{
PostMessage(MainForm->Handle,IDM_EXIT, 0,0);
Close();
}
//----------------------------------------------------------------------------
/*
分配YesBtnClick给控件的事件句柄。当用户揿击YesBtn时YesBtnClick将执行。建立棋盘
回到初始状态。
*/
void __fastcall TEndChessGameDlg::YesBtnClick(TObject *Sender)
{
GameOver = false;
PostMessage(Application->MainForm->Handle, IDM_FILENEW,0,0);
Close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -