198 lines
4.9 KiB
C++
198 lines
4.9 KiB
C++
#include "Stdafx.h"
|
|
#include "Resource.h"
|
|
#include "DlgCustomRule.h"
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
|
|
BEGIN_MESSAGE_MAP(CDlgCustomRule, CDialog)
|
|
END_MESSAGE_MAP()
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//构造函数
|
|
CDlgCustomRule::CDlgCustomRule() : CDialog(IDD_CUSTOM_RULE)
|
|
{
|
|
//设置变量
|
|
ZeroMemory(&m_CustomRule,sizeof(m_CustomRule));
|
|
|
|
m_CustomRule.wTimeOut = 40;
|
|
|
|
m_CustomRule.wSendCardTime = 10;
|
|
m_CustomRule.wCompareCardTime = 20;
|
|
|
|
m_CustomRule.lMinChipScore = 1;
|
|
m_CustomRule.lMaxChipScore = 5;
|
|
m_CustomRule.cbMaxPlayRound = 10;
|
|
m_CustomRule.cbMinLookRound = 1;
|
|
m_CustomRule.cbMinCompareRound = 2;
|
|
m_CustomRule.cbMinCompareUser = 2;
|
|
|
|
return;
|
|
}
|
|
|
|
//析构函数
|
|
CDlgCustomRule::~CDlgCustomRule()
|
|
{
|
|
}
|
|
|
|
//配置函数
|
|
BOOL CDlgCustomRule::OnInitDialog()
|
|
{
|
|
__super::OnInitDialog();
|
|
|
|
//设置控件
|
|
((CEdit *)GetDlgItem(IDC_EDIT_TIME_OUT))->LimitText(3);
|
|
((CEdit *)GetDlgItem(IDC_EDIT_SEND_CARD_TIME))->LimitText(3);
|
|
((CEdit *)GetDlgItem(IDC_EDIT_COMPARE_CARD_TIME))->LimitText(3);
|
|
|
|
((CEdit *)GetDlgItem(IDC_EDIT_MAX_PLAY_ROUND))->LimitText(3);
|
|
((CEdit *)GetDlgItem(IDC_EDIT_MIN_CHIP_SCORE))->LimitText(3);
|
|
((CEdit *)GetDlgItem(IDC_EDIT_MAX_CHIP_SCORE))->LimitText(3);
|
|
((CEdit *)GetDlgItem(IDC_EDIT_MIN_LOOK_CARD_ROUND))->LimitText(3);
|
|
((CEdit *)GetDlgItem(IDC_EDIT_MIN_COMPARE_USER))->LimitText(3);
|
|
((CEdit *)GetDlgItem(IDC_EDIT_MIN_COMPARE_ROUND))->LimitText(3);
|
|
|
|
//更新参数
|
|
FillDataToControl();
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
//确定函数
|
|
VOID CDlgCustomRule::OnOK()
|
|
{
|
|
//投递消息
|
|
GetParent()->PostMessage(WM_COMMAND,MAKELONG(IDOK,0),0);
|
|
|
|
return;
|
|
}
|
|
|
|
//取消消息
|
|
VOID CDlgCustomRule::OnCancel()
|
|
{
|
|
//投递消息
|
|
GetParent()->PostMessage(WM_COMMAND,MAKELONG(IDCANCEL,0),0);
|
|
|
|
return;
|
|
}
|
|
|
|
//更新控件
|
|
bool CDlgCustomRule::FillDataToControl()
|
|
{
|
|
//设置数据
|
|
SetDlgItemInt(IDC_EDIT_TIME_OUT, m_CustomRule.wTimeOut);
|
|
|
|
SetDlgItemInt(IDC_EDIT_SEND_CARD_TIME, m_CustomRule.wSendCardTime);
|
|
SetDlgItemInt(IDC_EDIT_COMPARE_CARD_TIME, m_CustomRule.wCompareCardTime);
|
|
|
|
SetDlgItemInt(IDC_EDIT_MIN_CHIP_SCORE, m_CustomRule.lMinChipScore);
|
|
SetDlgItemInt(IDC_EDIT_MAX_CHIP_SCORE, m_CustomRule.lMaxChipScore);
|
|
|
|
SetDlgItemInt(IDC_EDIT_MAX_PLAY_ROUND, m_CustomRule.cbMaxPlayRound);
|
|
SetDlgItemInt(IDC_EDIT_MIN_LOOK_CARD_ROUND, m_CustomRule.cbMinLookRound);
|
|
SetDlgItemInt(IDC_EDIT_MIN_COMPARE_USER, m_CustomRule.cbMinCompareUser);
|
|
SetDlgItemInt(IDC_EDIT_MIN_COMPARE_ROUND, m_CustomRule.cbMinCompareRound);
|
|
|
|
return true;
|
|
}
|
|
|
|
//更新数据
|
|
bool CDlgCustomRule::FillControlToData()
|
|
{
|
|
//设置数据
|
|
m_CustomRule.wTimeOut = (WORD)GetDlgItemInt(IDC_EDIT_TIME_OUT);
|
|
|
|
//数据校验
|
|
if (m_CustomRule.wTimeOut==0)
|
|
{
|
|
AfxMessageBox(TEXT("超时时间必须设置!"),MB_ICONSTOP);
|
|
return false;
|
|
}
|
|
|
|
m_CustomRule.wSendCardTime = (WORD)GetDlgItemInt(IDC_EDIT_SEND_CARD_TIME);
|
|
m_CustomRule.wCompareCardTime = (WORD)GetDlgItemInt(IDC_EDIT_COMPARE_CARD_TIME);
|
|
|
|
m_CustomRule.lMinChipScore = (LONG)GetDlgItemInt(IDC_EDIT_MIN_CHIP_SCORE);
|
|
//数据校验;
|
|
if (m_CustomRule.lMinChipScore < 1)
|
|
{
|
|
AfxMessageBox(TEXT("最小可下注必须设置!"), MB_ICONSTOP);
|
|
((CEdit *)GetDlgItem(IDC_EDIT_MIN_CHIP_SCORE))->SetFocus();
|
|
return false;
|
|
}
|
|
|
|
m_CustomRule.lMaxChipScore = (LONG)GetDlgItemInt(IDC_EDIT_MAX_CHIP_SCORE);
|
|
//数据校验;
|
|
if (m_CustomRule.lMaxChipScore < 1)
|
|
{
|
|
AfxMessageBox(TEXT("最大可下注必须设置!"), MB_ICONSTOP);
|
|
((CEdit *)GetDlgItem(IDC_EDIT_MAX_CHIP_SCORE))->SetFocus();
|
|
return false;
|
|
}
|
|
|
|
m_CustomRule.cbMaxPlayRound = (BYTE)GetDlgItemInt(IDC_EDIT_MAX_PLAY_ROUND);
|
|
//数据校验;
|
|
if (m_CustomRule.cbMaxPlayRound < 1)
|
|
{
|
|
AfxMessageBox(TEXT("最大轮数必须设置!"), MB_ICONSTOP);
|
|
((CEdit *)GetDlgItem(IDC_EDIT_MAX_PLAY_ROUND))->SetFocus();
|
|
return false;
|
|
}
|
|
|
|
m_CustomRule.cbMinLookRound = (BYTE)GetDlgItemInt(IDC_EDIT_MIN_LOOK_CARD_ROUND);
|
|
//数据校验;
|
|
if (m_CustomRule.cbMinLookRound < 1)
|
|
{
|
|
AfxMessageBox(TEXT("最小看牌轮数必须设置!"), MB_ICONSTOP);
|
|
((CEdit *)GetDlgItem(IDC_EDIT_MIN_LOOK_CARD_ROUND))->SetFocus();
|
|
return false;
|
|
}
|
|
|
|
m_CustomRule.cbMinCompareUser = (BYTE)GetDlgItemInt(IDC_EDIT_MIN_COMPARE_USER);
|
|
//数据校验;
|
|
if (m_CustomRule.cbMinCompareUser < 2)
|
|
{
|
|
AfxMessageBox(TEXT("最小比牌人数必须设置!"), MB_ICONSTOP);
|
|
((CEdit *)GetDlgItem(IDC_EDIT_MIN_COMPARE_USER))->SetFocus();
|
|
return false;
|
|
}
|
|
|
|
m_CustomRule.cbMinCompareRound = (BYTE)GetDlgItemInt(IDC_EDIT_MIN_COMPARE_ROUND);
|
|
//数据校验;
|
|
if (m_CustomRule.cbMinCompareRound < 1)
|
|
{
|
|
AfxMessageBox(TEXT("最小比牌轮数必须设置!"), MB_ICONSTOP);
|
|
((CEdit *)GetDlgItem(IDC_EDIT_MIN_COMPARE_ROUND))->SetFocus();
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
//读取配置
|
|
bool CDlgCustomRule::GetCustomRule(tagCustomRule & CustomRule)
|
|
{
|
|
//读取参数
|
|
if (FillControlToData()==true)
|
|
{
|
|
CustomRule=m_CustomRule;
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
//设置配置
|
|
bool CDlgCustomRule::SetCustomRule(tagCustomRule & CustomRule)
|
|
{
|
|
//设置变量
|
|
m_CustomRule=CustomRule;
|
|
|
|
//更新参数
|
|
if (m_hWnd!=NULL) FillDataToControl();
|
|
|
|
return true;
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|