Files
coco df489d5640 a
2026-07-03 16:05:30 +08:00

124 lines
3.4 KiB
C++

// 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"));
}
}