📄 kgroupgeneralpage.cpp
字号:
// KGroupGeneralPage.cpp : implementation file
//
#include "stdafx.h"
#include "test2.h"
#include "KGroupGeneralPage.h"
#include "server.h"
#include "group.h"
#include "test2Doc.h"
// Image list indices:
#define ILI_INTERFACE 2
// Default group name if the server does not provide a name:
#define DEFAULTGROUPNAME _T("Group0")
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CKGroupGeneralPage dialog
CKGroupGeneralPage::CKGroupGeneralPage(CKServer *pServer)
: CDialog(CKGroupGeneralPage::IDD)
{
//{{AFX_DATA_INIT(CKGroupGeneralPage)
// NOTE: the ClassWizard will add member initialization here
m_bActive = GROUP_DEFAULT_ACTIVESTATE;
m_dwLanguageID = GROUP_DEFAULT_LANGUAGEID;
m_strName = GROUP_DEFAULT_NAME;
m_fDeadband = GROUP_DEFAULT_DEADBAND;
m_lBias = GROUP_DEFAULT_TIMEBIAS;
m_dwUpdateRate = GROUP_DEFAULT_UPDATERATE;
m_nUpdateMethod = GROUP_DEFAULT_UPDATEMETHOD;
//}}AFX_DATA_INIT
m_pServer = pServer;
m_pGroup = NULL;
}
void CKGroupGeneralPage::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CKGroupGeneralPage)
// NOTE: the ClassWizard will add DDX and DDV calls here
DDX_Check (pDX, IDC_ACTIVE, m_bActive);
DDX_Text (pDX, IDC_LANGUAGEID, m_dwLanguageID);
DDV_MinMaxDWord (pDX, m_dwLanguageID, 0, 4294967295);
DDX_Text (pDX, IDC_NAME, m_strName);
DDX_Text (pDX, IDC_PERCENTDEADBAND, m_fDeadband);
DDV_MinMaxFloat (pDX, m_fDeadband, 0.f, 100.f);
DDX_Text (pDX, IDC_TIMEBIAS, m_lBias);
DDV_MinMaxLong (pDX, m_lBias, 0, 2147483647);
DDX_CBIndex (pDX, IDC_UPDATENOTIFICATION, m_nUpdateMethod);
DDX_Text (pDX, IDC_UPDATERATE, m_dwUpdateRate);
DDV_MinMaxDWord (pDX, m_dwUpdateRate, 0, 4294967295);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CKGroupGeneralPage, CDialog)
//{{AFX_MSG_MAP(CKGroupGeneralPage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CKGroupGeneralPage message handlers
BOOL CKGroupGeneralPage::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_cLangIDEdit.SubclassDlgItem (IDC_LANGUAGEID, this);
m_cDeadbandEdit.SubclassDlgItem (IDC_PERCENTDEADBAND, this);
m_cBiasEdit.SubclassDlgItem (IDC_TIMEBIAS, this);
m_cUpdateRateEdit.SubclassDlgItem (IDC_UPDATERATE, this);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
int CKGroupGeneralPage::DoModal()
{
int nRC = CDialog::DoModal ();
// If the user selects "OK" add/modify group:
if (nRC == IDOK)
{
// If m_pGroup is NULL, we need to create a new group:
if (m_pGroup == NULL)
{
ASSERT (m_pServer != NULL);
try
{
// Instantiate a new CKGroup:
m_pGroup = new CKGroup (m_pServer);
}
catch (...)
{
// If problem, delete the group and return with IDCANCEL code:
ASSERT (FALSE);
m_pGroup = NULL;
return (IDCANCEL);
}
}
// Set attributes from general page:
// Create name if currently undefined:
if (m_strName.IsEmpty ())
{
if (!m_pServer || !m_pServer->IsAlive ())
{
m_strName = DEFAULTGROUPNAME;
m_pServer->GenerateGroupName (m_strName);
}
}
m_pGroup->SetName (m_strName);
m_pGroup->SetActive (m_bActive);
m_pGroup->SetLanguageID (m_dwLanguageID);
m_pGroup->SetDeadband (m_fDeadband);
m_pGroup->SetBias (m_lBias);
m_pGroup->SetUpdateRate (m_dwUpdateRate);
m_pGroup->SetUpdateMethod (m_nUpdateMethod);
// If this is a new group (indicated by non-NULL m_pServer),
// add it to the server:
if (m_pServer)
m_pServer->AddGroup (m_pGroup);
}
return nRC;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -