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

📄 ycdatadialog.cpp

📁 这是一个变电站的监控程序
💻 CPP
字号:
// YcDataDialog.cpp : implementation file
//

#include "stdafx.h"
#include "fert2000.h"
#include "YcDataDialog.h"

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

/////////////////////////////////////////////////////////////////////////////
// CYcDataDialog dialog
extern RTU Rtus[MAX_RTU_NUM];
extern SYSTEMCOUNT SystemCount;
extern CHANNEL Channels[MAX_CHANNEL_NUM];


CYcDataDialog::CYcDataDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CYcDataDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CYcDataDialog)
	//}}AFX_DATA_INIT
	RtuNo = 0;
}


void CYcDataDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CYcDataDialog)
	DDX_Control(pDX, IDC_YCDATA_RTUNO, m_RtuNoCom);
	DDX_Control(pDX, IDC_MSFLEXGRID1, m_YcDataTable);
	DDX_Control(pDX, IDC_MSFLEXGRID2, m_YxDataTable);
	DDX_Control(pDX, IDC_MSFLEXGRID3, m_KwhDataTable);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CYcDataDialog, CDialog)
	//{{AFX_MSG_MAP(CYcDataDialog)
	ON_CBN_CLOSEUP(IDC_YCDATA_RTUNO, OnCloseupYcdataRtuno)
	ON_WM_TIMER()
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CYcDataDialog message handlers

void CYcDataDialog::OnCloseupYcdataRtuno() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	if (RtuNo != m_RtuNoCom.GetCurSel())
	{
		RtuNo = m_RtuNoCom.GetCurSel();
		ShowPara();
		UpdateData(FALSE);
	}
}

BOOL CYcDataDialog::OnInitDialog() 
{
	char Ch[30];
	CDialog::OnInitDialog();
	
	for (int i = 0;i < SystemCount.RtuNum ;i++)
	{
		sprintf(Ch,"%d-%s",i,Rtus[i].Name);
		m_RtuNoCom.AddString(Ch);
	}
	m_RtuNoCom.SetCurSel(0);
	RtuNo = 0;
	ShowPara();
	SetTimer(10,1000,NULL);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CYcDataDialog::OnTimer(UINT nIDEvent) 
{
	CString TempStr;
	for (int i = 0;i < Rtus[RtuNo].YcNum ;i++)
	{
		TempStr.Format("%d",(int)Rtus[RtuNo].YcValue[i]);
		m_YcDataTable.SetTextArray((i/8)*8+(i%8),(LPCTSTR)TempStr);
	}
	for (i = 0;i < Rtus[RtuNo].YxNum ;i++)
	{
		TempStr.Format("%d",(Rtus[RtuNo].YxValue[i] & 0x1));
		m_YxDataTable.SetTextArray((i/32)*32+(i%32),(LPCTSTR)TempStr);
	}
	for (i = 0;i < Rtus[RtuNo].KwhNum ;i++)
	{
		TempStr.Format("%d",Rtus[RtuNo].KwhValue[i]);
		m_KwhDataTable.SetTextArray((i/8)*8+(i%8),(LPCTSTR)TempStr);
	}
	CDialog::OnTimer(nIDEvent);
}

void CYcDataDialog::OnDestroy() 
{
	CDialog::OnDestroy();
	KillTimer(10);
}

void CYcDataDialog::ShowPara()
{
	CString TempStr;
	int YcRows = (Rtus[RtuNo].YcNum + 7)/8;
	int YxRows = (Rtus[RtuNo].YxNum + 31)/32;
	int KwhRows = (Rtus[RtuNo].KwhNum + 7)/8;
	m_YcDataTable.Clear ();
	m_YcDataTable.SetRows(YcRows);
	m_YcDataTable.SetColWidth(-1,1000);
	m_YxDataTable.Clear();
	m_YxDataTable.SetRows(YxRows);
	m_YxDataTable.SetColWidth(-1,250);
	m_KwhDataTable.Clear();
	m_KwhDataTable.SetRows(KwhRows);
	m_KwhDataTable.SetColWidth(-1,1000);
}

⌨️ 快捷键说明

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