📄 ycdatadialog.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 + -