// DialPlcStatusSetting.cpp : implementation file // #include "stdafx.h" #include "geomative.h" #include "DialPlcStatusSetting.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif extern int g_iUILanguage; ///////////////////////////////////////////////////////////////////////////// // CDialPlcStatusSetting dialog CDialPlcStatusSetting::CDialPlcStatusSetting(CWnd* pParent /*=NULL*/) : CDialog(CDialPlcStatusSetting::IDD, pParent) { //{{AFX_DATA_INIT(CDialPlcStatusSetting) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT m_iTimerInterval = 1200; } void CDialPlcStatusSetting::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDialPlcStatusSetting) DDX_Control(pDX, IDC_COMBO_REP_METHOD, m_cmbRepMethid); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDialPlcStatusSetting, CDialog) //{{AFX_MSG_MAP(CDialPlcStatusSetting) ON_CBN_SELCHANGE(IDC_COMBO_REP_METHOD, OnSelchangeComboRepMethod) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDialPlcStatusSetting message handlers BOOL CDialPlcStatusSetting::OnInitDialog() { CDialog::OnInitDialog(); if (g_iUILanguage == LANG_ZHCN) { SetWindowText(_T("上报设置")); GetDlgItem(IDC_STATIC_REPORTMETHOD)->SetWindowText(_T("上报方式:")); GetDlgItem(IDC_STATIC_TIMEINTERVAL)->SetWindowText(_T("时间间隔:")); GetDlgItem(IDOK)->SetWindowText(_T("确定")); GetDlgItem(IDCANCEL)->SetWindowText(_T("取消")); m_cmbRepMethid.AddString(_T("定时")); m_cmbRepMethid.AddString(_T("手动查询")); } else { m_cmbRepMethid.AddString(_T("Timer")); m_cmbRepMethid.AddString(_T("Query")); } // TODO: Add extra initialization here CString strVal = ""; strVal.Format(_T("%d"),m_iTimerInterval); GetDlgItem(IDC_EDIT_TIME_INTERVAL)->SetWindowText(strVal); m_cmbRepMethid.SetCurSel(0); ((CEdit*)(GetDlgItem(IDC_EDIT_TIME_INTERVAL)))->SetLimitText(5); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CDialPlcStatusSetting::OnOK() { // TODO: Add extra validation here if (m_cmbRepMethid.GetCurSel() == 0) { CString strTxt = _T(""); GetDlgItem(IDC_EDIT_TIME_INTERVAL)->GetWindowText(strTxt); m_iTimerInterval = atoi(strTxt); if (m_iTimerInterval < 600 || m_iTimerInterval > 3600) { if (LANG_ZHCN == g_iUILanguage) AfxMessageBox(_T("时间间隔必须在600到3600之间")); else MessageBoxEx(NULL, _T("Time interval must between 600 to 3600"), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); return; } } else m_iTimerInterval = 0; CDialog::OnOK(); } void CDialPlcStatusSetting::OnSelchangeComboRepMethod() { // TODO: Add your control notification handler code here if (m_cmbRepMethid.GetCurSel() == 0) { GetDlgItem(IDC_EDIT_TIME_INTERVAL)->EnableWindow(TRUE); GetDlgItem(IDC_EDIT_TIME_INTERVAL)->SetWindowText(_T("1200")); if (LANG_ZHCN == g_iUILanguage) GetDlgItem(IDOK)->SetWindowText(_T("确定")); else GetDlgItem(IDOK)->SetWindowText(_T("Ok")); } else { GetDlgItem(IDC_EDIT_TIME_INTERVAL)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT_TIME_INTERVAL)->SetWindowText(_T("0")); if (LANG_ZHCN == g_iUILanguage) GetDlgItem(IDOK)->SetWindowText(_T("查询")); else GetDlgItem(IDOK)->SetWindowText(_T("Query")); } }