//选择改变 VOID CDlgServerItem::OnLvnItemChangedServerList(NMHDR * pNMHDR, LRESULT * pResult) { //更新控制 UpdateControlStatus(); return; }
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 }
// Re-arrange the UI for a given projection void ProjectionDlg::SetProjectionUI(ProjType type) { m_eProj = type; m_iProj = m_eProj; if (m_bInitializedUI) UpdateControlStatus(); }
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(); }
//设置控制 VOID CDlgRuleOption::EnableControl(bool bControl) { //设置变量 m_bControl=bControl; //更新控制 if (m_hWnd!=NULL) UpdateControlStatus(); return; }
//规则设置 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; }
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(); }
//初始化函数 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; }