⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kgroupgeneralpage.cpp

📁 这个是我现在在做组态软件开发用到的OPC源码
💻 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 + -