//选择改变
VOID CDlgServerItem::OnLvnItemChangedServerList(NMHDR * pNMHDR, LRESULT * pResult)
{
	//更新控制
	UpdateControlStatus();

	return;
}
示例#2
0
BOOL CCollocateRoom::OnInitDialog()
{
	__super::OnInitDialog();

	//获取位置
	CRect rcClient;
	GetClientRect(&rcClient);

	//设置标题
	SetWindowText(TEXT("房间设置"));

	//变量定义
	INT nTViewBorder=m_SkinAttribute.m_EncircleInfoView.nTBorder;
	INT nBViewBorder=m_SkinAttribute.m_EncircleInfoView.nBBorder;
	INT nLViewBorder=m_SkinAttribute.m_EncircleInfoView.nLBorder;
	INT nRViewBorder=m_SkinAttribute.m_EncircleInfoView.nRBorder;
	INT nBFrameBorder=m_SkinAttribute.m_EncircleInfoFrame.nBBorder;

	//移动窗口
	rcClient.bottom=nTViewBorder+nBFrameBorder+185;
	SetWindowPos(NULL,0,0,rcClient.Width(),rcClient.Height(),SWP_NOZORDER|SWP_NOMOVE);

	//限制输入
	((CEdit *)GetDlgItem(IDC_WIN_RATE))->LimitText(5);
	((CEdit *)GetDlgItem(IDC_FLEE_RATE))->LimitText(5);
	((CEdit *)GetDlgItem(IDC_GAME_SCORE_MAX))->LimitText(10);
	((CEdit *)GetDlgItem(IDC_GAME_SCORE_MIN))->LimitText(11);
	((CEdit *)GetDlgItem(IDC_TABLE_PASSWORD))->LimitText(LEN_PASSWORD-1);

	//变量定义
	ASSERT(CParameterGlobal::GetInstance()!=NULL);
	CParameterGlobal * pParameterGlobal=CParameterGlobal::GetInstance();

	//房间设置
	if ((m_pParameterServer!=NULL)&&(m_pParameterGame!=NULL))
	{
		//游戏配置
		m_wMinWinRate=m_pParameterGame->m_wMinWinRate;
		m_wMaxFleeRate=m_pParameterGame->m_wMaxFleeRate;
		m_bLimitWinRate=m_pParameterGame->m_bLimitWinRate;
		m_lMaxGameScore=m_pParameterGame->m_lMaxGameScore;
		m_lMinGameScore=m_pParameterGame->m_lMinGameScore;
		m_bLimitFleeRate=m_pParameterGame->m_bLimitFleeRate;
		m_bLimitGameScore=m_pParameterGame->m_bLimitGameScore;

		//其他配置
		m_bLimitDetest=pParameterGlobal->m_bLimitDetest;
		m_bLimitSameIP=pParameterGlobal->m_bLimitSameIP;

		//房间配置
		m_bTakePassword=m_pParameterServer->m_bTakePassword;
		lstrcpyn(m_szPassword,m_pParameterServer->m_szPassword,CountArray(m_szPassword));
	}

	//更新控件
	UpdateControlStatus();

	return TRUE;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}
示例#3
0
// Re-arrange the UI for a given projection
void ProjectionDlg::SetProjectionUI(ProjType type)
{
	m_eProj = type;
	m_iProj = m_eProj;

	if (m_bInitializedUI)
		UpdateControlStatus();
}
示例#4
0
void ProjectionDlg::OnZone( wxCommandEvent &event )
{
	TransferDataFromWindow();

	void *vval = m_pZoneCtrl->GetClientData(m_iZone);
	long int val = (long int) vval - 100;
	m_proj.SetUTMZone(val);

	UpdateControlStatus();
}
示例#5
0
//设置控制
VOID CDlgRuleOption::EnableControl(bool bControl)
{
	//设置变量
	m_bControl=bControl;

	//更新控制
	if (m_hWnd!=NULL) UpdateControlStatus();

	return;
}
示例#6
0
//规则设置
VOID CDlgRuleOption::SetGameRuleInfo(const tagGameRuleInfo & GameRuleInfo, bool bControl, bool bSelectMode)
{
	//设置变量
	m_bControl=bControl;
	m_bSelectMode=bSelectMode;
	m_GameRuleInfo=GameRuleInfo;

	//更新控制
	if (m_hWnd!=NULL) UpdateControlStatus();

	return;
}
//删除房间
VOID CDlgServerItem::OnBnClickedDeleteServer()
{
	//获取选择
	ASSERT(m_ServerListControl.GetFirstSelectedItemPosition()!=NULL);
	POSITION Position=m_ServerListControl.GetFirstSelectedItemPosition();
	
	//获取房间
	INT nListItem=m_ServerListControl.GetNextSelectedItem(Position);
	tagGameServerInfo * pGameServerInfo=(tagGameServerInfo *)m_ServerListControl.GetItemData(nListItem);

	//设置变量
	if (pGameServerInfo!=NULL)
	{
		//构造提示
		TCHAR szString[128]=TEXT("");
		_sntprintf(szString,CountArray(szString),TEXT("确实要删除 [ %s ] 游戏房间吗?"),pGameServerInfo->szServerName);

		//提示消息
		if (AfxMessageBox(szString,MB_ICONQUESTION|MB_YESNO)!=IDYES) return;

		//删除房间
		CServerInfoManager ServerInfoManager;
		if (ServerInfoManager.DeleteGameServer(pGameServerInfo->wServerID)==false) return;

		//删除列表
		m_ServerListControl.DeleteItem(nListItem);
		m_ServerInfoBuffer.DeleteServerInfo(pGameServerInfo->wServerID);

		//设置列表
		if (m_ServerListControl.GetItemCount()>0)
		{
			//设置变量
			INT nItemCount=m_ServerListControl.GetItemCount();
			INT nNextItem=(nListItem>=nItemCount)?(nItemCount-1):nListItem;

			//设置选择
			m_ServerListControl.SetItemState(nNextItem,LVIS_SELECTED,LVIS_SELECTED);
		}

		//更新控制
		UpdateControlStatus();
	}

	return;
}
示例#8
0
void ProjectionDlg::OnHorizUnits( wxCommandEvent &event )
{
	TransferDataFromWindow();

	m_iUnits = m_pHorizCtrl->GetSelection();

	LinearUnits iUnits = (LinearUnits) (long int) m_pHorizCtrl->GetClientData(m_iUnits);

	if (iUnits == LU_METERS)
	{
		m_proj.SetLinearUnits(SRS_UL_METER, 1.0);
	}
	if (iUnits == LU_FEET_INT)
	{
		m_proj.SetLinearUnits(SRS_UL_FOOT, GetMetersPerUnit(iUnits));
	}
	if (iUnits == LU_FEET_US)
	{
		m_proj.SetLinearUnits(SRS_UL_US_FOOT, GetMetersPerUnit(iUnits));
	}

	TransferDataToWindow();
	UpdateControlStatus();
}
示例#9
0
//初始化函数
BOOL CDlgRuleOption::OnInitDialog()
{
	__super::OnInitDialog();

	//创建区域
	CRgn RgnImage;
	CImageHandle BackImageHandle(&m_ImageViewBack);
	m_ImageViewBack.CreateImageRegion(RgnImage,RGB(255,0,255));

	//设置窗口
	SetWindowRgn(RgnImage,TRUE);
	SetWindowPos(NULL,0,0,m_ImageViewBack.GetWidth(),m_ImageViewBack.GetHeight(),SWP_NOZORDER|SWP_NOMOVE);

	//设置窗口
	SetWindowText(TEXT("规则设置:"));
	m_Brush.CreateSolidBrush(COLOR_RULE_BACK);

	//设置控件
	HINSTANCE hResInstance=AfxGetInstanceHandle();
	m_btOk.SetButtonImage(IDB_OPTION_BT_OK,hResInstance,false);
	m_btCancel.SetButtonImage(IDB_OPTION_BT_CANCEL,hResInstance,false);

	//构造提示
	TCHAR szFastDescribe[128]=TEXT(""),szSlowDescribe[128]=TEXT("");
	_sntprintf(szFastDescribe,CountChar(szFastDescribe),TEXT("局时 %d 分钟  步时 %d 分钟  读秒 %d 秒"),
		MODE_FAST_DRAW_TIME/60L,MODE_FAST_STEP_TIME/60L,MODE_FAST_SECOND_TIME);
	_sntprintf(szSlowDescribe,CountChar(szSlowDescribe),TEXT("局时 %d 分钟  步时 %d 分钟  无读秒"),
		MODE_SLOW_DRAW_TIME/60L,MODE_SLOW_STEP_TIME/60L);

	//设置提示
	SetDlgItemText(IDC_FAST_DESCRIBE,szFastDescribe);
	SetDlgItemText(IDC_SLOW_DESCRIBE,szSlowDescribe);

	//变量定义
	TCHAR szBuffer[32]=TEXT("");
	LONG lDrawTime[]={600L,1800L,3600L},lStepTime[]={60L,180L,300L};
	LONG lRuleSecondTime[]={30L,60L,180L,300L},lRuleSecondCount[]={1L,3L,5L};

	//游戏局时
	CComboBox * pComboBox=(CComboBox *)GetDlgItem(IDC_DRAW_TIME);
	for (INT i=0;i<CountArray(lDrawTime);i++)
	{
		_sntprintf(szBuffer,CountChar(szBuffer),TEXT("%ld"),lDrawTime[i]/60L);
		pComboBox->SetItemData(pComboBox->InsertString(i,szBuffer),lDrawTime[i]/60L);
	}

	//游戏步时
	pComboBox=(CComboBox *)GetDlgItem(IDC_STEP_TIME);
	for (INT i=0;i<CountArray(lStepTime);i++)
	{
		_sntprintf(szBuffer,CountChar(szBuffer),TEXT("%ld"),lStepTime[i]/60L);
		pComboBox->SetItemData(pComboBox->InsertString(i,szBuffer),lStepTime[i]/60L);
	}

	//游戏读秒
	pComboBox=(CComboBox *)GetDlgItem(IDC_SECOND_TIME);
	for (INT i=0;i<CountArray(lRuleSecondTime);i++)
	{
		_sntprintf(szBuffer,CountChar(szBuffer),TEXT("%ld"),lRuleSecondTime[i]);
		pComboBox->SetItemData(pComboBox->InsertString(i,szBuffer),lRuleSecondTime[i]);
	}

	//更新控件
	UpdateControlStatus();

	return TRUE;
}