dlgalarmpara.cpp

来自「串口收发工具」· C++ 代码 · 共 128 行

CPP
128
字号
// DlgAlarmPara.cpp : implementation file
//

#include "stdafx.h"
#include "maintain.h"
#include "DlgAlarmPara.h"
#include "public.h"
#include "mainfrm.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDlgAlarmPara property page

IMPLEMENT_DYNCREATE(CDlgAlarmPara, CPropertyPage)

CDlgAlarmPara::CDlgAlarmPara() : CPropertyPage(CDlgAlarmPara::IDD)
{
	//{{AFX_DATA_INIT(CDlgAlarmPara)
	m_AlarmName = _T("");
	m_Voice1 = 0;
	m_SampleTime = 0;
	//}}AFX_DATA_INIT
}

CDlgAlarmPara::~CDlgAlarmPara()
{
}

void CDlgAlarmPara::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgAlarmPara)
	DDX_Control(pDX, IDC_COMBO_ALARMLEVEL, m_AlarmLevel);
	DDX_Control(pDX, IDC_COMBO_ALARM_NO, m_AlarmNo);
	DDX_Text(pDX, IDC_EDIT_ALARM_NAME, m_AlarmName);
	DDV_MaxChars(pDX, m_AlarmName, 20);
	DDX_Text(pDX, IDC_EDIT_ALARM_VOICE1, m_Voice1);
	DDV_MinMaxInt(pDX, m_Voice1, 0, 9999);
	DDX_Text(pDX, IDC_EDIT_Sample_Time, m_SampleTime);
	DDV_MinMaxInt(pDX, m_SampleTime, 0, 9999);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgAlarmPara, CPropertyPage)
	//{{AFX_MSG_MAP(CDlgAlarmPara)
	ON_CBN_SELENDOK(IDC_COMBO_ALARM_NO, OnSelendokComboAlarmNo)
	ON_EN_CHANGE(IDC_EDIT_Sample_Time, OnChangeEDITSampleTime)
	ON_EN_CHANGE(IDC_EDIT_ALARM_NAME, OnChangeEditAlarmName)
	ON_EN_CHANGE(IDC_EDIT_ALARM_VOICE1, OnChangeEditAlarmVoice1)
	ON_CBN_SELENDOK(IDC_COMBO_ALARMLEVEL, OnSelendokComboAlarmlevel)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgAlarmPara message handlers

BOOL CDlgAlarmPara::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	// TODO: Add extra initialization here
	CString str;
	for(int i=1;i<ALARMCOE_COUNT;i++)
	{
		str.Format("%d",i);
		m_AlarmNo.AddString(str);
	}
	((CMainFrame*)AfxGetMainWnd())->GetPara(p);
	m_AlarmNo.SetCurSel(0);
	RefreshData();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgAlarmPara::OnSelendokComboAlarmNo() 
{
	// TODO: Add your control notification handler code here
	RefreshData();
}

void CDlgAlarmPara::RefreshData()
{
	int nCurSel = m_AlarmNo.GetCurSel();
	m_SampleTime = p.Sample_Time;
	m_AlarmName = p.Alarm_Coe[nCurSel].Display;
	m_Voice1 = (BYTE)p.Alarm_Coe[nCurSel].Sound[0];
	m_AlarmLevel.SetCurSel(p.Alarm_Coe[nCurSel].Control);
	UpdateData(false);
}

void CDlgAlarmPara::OnChangeEDITSampleTime() 
{
	UpdateData(true);
	p.Sample_Time = m_SampleTime;
	SETPARA
}

void CDlgAlarmPara::OnChangeEditAlarmName() 
{
	UpdateData(true);
	int nCurSel = m_AlarmNo.GetCurSel();
	strcpy(p.Alarm_Coe[nCurSel].Display,m_AlarmName);
	SETPARA
}

void CDlgAlarmPara::OnChangeEditAlarmVoice1() 
{
	UpdateData(true);
	int nCurSel = m_AlarmNo.GetCurSel();
	p.Alarm_Coe[nCurSel].Sound[0] = m_Voice1;
	SETPARA
}

void CDlgAlarmPara::OnSelendokComboAlarmlevel() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	int nCurSel = m_AlarmNo.GetCurSel();
	p.Alarm_Coe[nCurSel].Control = m_AlarmLevel.GetCurSel();
	SETPARA
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?