Files
winapp/ResetFormUnit.cpp
T
2026-06-12 22:37:02 +08:00

235 lines
7.6 KiB
C++

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "GlobalUnit.h"
#include "ResetFormUnit.h"
#include "GameUnit.h"
#include "UtilityUnit.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TResetForm *ResetForm = NULL;
//---------------------------------------------------------------------------
__fastcall TResetForm::TResetForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TResetForm::SelAllClick(TObject *Sender)
{
m_cbAmount->Checked = true;
m_cbTotProfit->Checked = true;
m_cbPeakU->Checked = true;
m_cbPeakL->Checked = true;
m_cbRealAmount->Checked = true;
m_cbRealProfit->Checked = true;
m_cbManAmount->Checked = true;
m_cbManProfit->Checked = true;
m_cbWinCount->Checked = true;
m_cbLosCount->Checked = true;
m_cbSWin->Checked = true;
m_cbSLos->Checked = true;
m_cbCurrProfit->Checked = true;
m_cbMaxChip->Checked = true;
m_cbSRProfit->Checked = true;
m_cbDead->Checked = true;
}
//---------------------------------------------------------------------------
void __fastcall TResetForm::SelNoneClick(TObject *Sender)
{
m_cbAmount->Checked = false;
m_cbTotProfit->Checked = false;
m_cbPeakU->Checked = false;
m_cbPeakL->Checked = false;
m_cbRealAmount->Checked = false;
m_cbRealProfit->Checked = false;
m_cbManAmount->Checked = false;
m_cbManProfit->Checked = false;
m_cbWinCount->Checked = false;
m_cbLosCount->Checked = false;
m_cbSWin->Checked = false;
m_cbSLos->Checked = false;
m_cbCurrProfit->Checked = false;
m_cbMaxChip->Checked = false;
m_cbSRProfit->Checked = false;
m_cbDead->Checked = false;
}
//---------------------------------------------------------------------------
void __fastcall TResetForm::OkClick(TObject *Sender)
{
for(int i=0; i<g_aGames.size(); i++){
TGame* pG = g_aGames[i];
if(m_cbTotProfit->Checked)
pG->profit = 0;
if(m_cbSWin->Checked)
pG->seqCount[0] = 0;
if(m_cbSLos->Checked)
pG->seqCount[1] = 0;
}
if(m_cbAmount->Checked){
g_aGames.betData.amounts[0] = 0;
// g_aGames.betData.profits[0] = 0;
// PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_AMOUNT, 0);
}
if(m_cbAmount->Checked || m_cbTotProfit->Checked){
g_aGames.betData.profits[0] = 0;
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_AMOUNT, 0);
PostMessage(Application->MainFormHandle, UM_CHART_UPDATE, 0, 1);
}
if(m_cbPeakU->Checked || m_cbPeakL->Checked){
if(m_cbPeakU->Checked) g_aGames.betData.profits[1] = 0;
if(m_cbPeakL->Checked) g_aGames.betData.profits[2] = 0;
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_PEAK, 0);
}
if(m_cbRealAmount->Checked){
g_aGames.betData.amounts[1] = 0;
g_aGames.betData.profits[4] = 0;
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_REAL, 1);
}
else if(m_cbRealProfit->Checked){
g_aGames.betData.profits[4] = 0;
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_REAL, 0);
}
if(m_cbManAmount->Checked){
g_aGames.betData.amounts[2] = 0;
g_aGames.betData.profits[5] = 0;
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_MAN, 1);
}
else if(m_cbManProfit->Checked){
g_aGames.betData.profits[5] = 0;
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_MAN, 0);
}
if(m_cbCurrProfit->Checked){
g_aGames.betData.profits[3] = g_aGames.fCurrProfitPeak = 0;
g_aGames.betData.profits[6] = g_aGames.betData.profits[7] = 0;
for(int i=0; i<g_aGames.size(); i++){ //台桌数据也要重置
TGame* pG = g_aGames[i];
pG->profit = 0;
if(pG->hTable) PostMessage(pG->hTable, UM_TAB_UPDATE, UPDATE_RESET, 0);
}
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_BET_R, 0);
}
else if(m_cbSRProfit->Checked){
g_aGames.betData.profits[6] = g_aGames.betData.profits[7] = 0;
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_BET_R, 0);
}
if(m_cbWinCount->Checked || m_cbLosCount->Checked){
if(m_cbWinCount->Checked){
g_aGames.betData.counts[0] = 0;
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_COUNT, 0);
}
if(m_cbLosCount->Checked){
g_aGames.betData.counts[1] = 0;
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_COUNT, 1);
}
PostMessage(Application->MainFormHandle, UM_CHART_UPDATE, 3, 1);
}
if(m_cbSWin->Checked){
g_aGames.betData.counts[2] = 0;
for(int i=0; i<g_aGames.size(); i++){ //台桌数据也要重置
TGame* pG = g_aGames[i];
pG->seqCount[0] = 0;
if(pG->hTable) PostMessage(pG->hTable, UM_TAB_UPDATE, UPDATE_RESET, 1);
}
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_COUNT, 2);
}
if(m_cbSLos->Checked){
g_aGames.betData.counts[3] = 0;
for(int i=0; i<g_aGames.size(); i++){ //台桌数据也要重置
TGame* pG = g_aGames[i];
pG->seqCount[1] = 0;
if(pG->hTable) PostMessage(pG->hTable, UM_TAB_UPDATE, UPDATE_RESET, 2);
}
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_COUNT, 3);
}
if(m_cbMaxChip->Checked){
g_aGames.betData.maxChip = 0;
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_MISC, 0);
}
if(m_cbDead->Checked){
g_aGames.betData.dead = 0;
PostMessage(Application->MainFormHandle, UM_STATE_UPDATE, STATE_MISC, 0);
}
ModalResult = mrOk;
}
//---------------------------------------------------------------------------
void __fastcall TResetForm::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
if(X < 0 || Y < 0 || X > Width || Y > Height)
ModalResult = mrCancel;
}
//---------------------------------------------------------------------------
void __fastcall TResetForm::FormMouseEnter(TObject *Sender)
{
TPoint cPos = ScreenToClient(Mouse->CursorPos);
// DebugPrint("mouse enter %d - %d", cPos.X, cPos.Y);
if(cPos.X>=0 && cPos.Y>=0 && cPos.X<=Width && cPos.Y<=Height){
m_bMouseOver = true;
if(MouseCapture){
MouseCapture = false;
// DebugPrint("discaptured");
}
}
}
//---------------------------------------------------------------------------
void __fastcall TResetForm::FormMouseLeave(TObject *Sender)
{
TPoint cPos = ScreenToClient(Mouse->CursorPos);
// DebugPrint("mouse leave %d - %d of %d - %d", cPos.X, cPos.Y);
if((cPos.X<=10 || cPos.Y<=10 || cPos.X>=Width-10 || cPos.Y>=Height-10)){
m_bMouseOver = false;
if(!MouseCapture){
MouseCapture = true;
// DebugPrint("captured");
}
}
}
//---------------------------------------------------------------------------
void __fastcall TResetForm::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y)
{
ResetIdle();
if(!m_bMouseOver && X>10 && X<Width-10 && Y>10 && Y<Height-10){
m_bMouseOver = true;
MouseCapture = false;
// DebugPrint("discaptured %d - %d", X, Y);
}
}
//---------------------------------------------------------------------------
void __fastcall TResetForm::FormShow(TObject *Sender)
{
TPoint cPos = ScreenToClient(Mouse->CursorPos);
if(cPos.X>=0 && cPos.Y>=0 && cPos.X<=Width && cPos.Y<=Height){
m_bMouseOver = true;
MouseCapture = false;
}
else{
m_bMouseOver = false;
MouseCapture = true;
}
}
//---------------------------------------------------------------------------
void __fastcall TResetForm::WMKillFocus(TWMKillFocus &Message)
{
if(!m_bMouseOver)
ModalResult = mrCancel;
}
//--------------------------------------------------------
void __fastcall TResetForm::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{
if(Key==VK_ESCAPE)
ModalResult = mrCancel;
}
//---------------------------------------------------------------------------