📄 nsdialog.cpp
字号:
// NSDialog.cpp : implementation file
//
// This is a part of the Nice Information's source code.
// Copyright (C) 1994 Nice Information Corporation
// All rights reserved.
//
// Complier: Microsoft Visual C++ 5.00, MFC 4.0
//
// create : doo, 2000.1.14 for LonWork
//
#include "stdafx.h"
#include "datafile.h"
#include "103.h"
#include "NSDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern C103App theApp;
/////////////////////////////////////////////////////////////////////////////
// CNeuronListDlg dialog
CNeuronListDlg::CNeuronListDlg(CWnd* pParent /*=NULL*/)
: CDialog(CNeuronListDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CNeuronListDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CNeuronListDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CNeuronListDlg)
DDX_Control(pDX, IDC_LIST, m_lstNeuronId);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CNeuronListDlg, CDialog)
//{{AFX_MSG_MAP(CNeuronListDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CNeuronListDlg message handlers
BOOL CNeuronListDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
LV_COLUMN lvColumn;
lvColumn.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
lvColumn.fmt = LVCFMT_LEFT;
lvColumn.cx = 45;
lvColumn.pszText = "编号";
lvColumn.cchTextMax = 4;
lvColumn.iSubItem = 0;
m_lstNeuronId.InsertColumn( 0, &lvColumn );
lvColumn.cx = 140;
lvColumn.pszText = "IP:公共地址";
lvColumn.cchTextMax = 11;
lvColumn.iSubItem = 1;
m_lstNeuronId.InsertColumn( 1, &lvColumn );
lvColumn.cx = 50;
lvColumn.pszText = "通讯";
lvColumn.cchTextMax = 4;
lvColumn.iSubItem = 2;
m_lstNeuronId.InsertColumn( 2, &lvColumn );
lvColumn.cx = 80;
lvColumn.pszText = "制造商";
lvColumn.cchTextMax = 8;
lvColumn.iSubItem = 3;
m_lstNeuronId.InsertColumn( 3, &lvColumn );
lvColumn.cx = 80;
lvColumn.pszText = "类型编号";
lvColumn.cchTextMax = 8;
lvColumn.iSubItem = 4;
m_lstNeuronId.InsertColumn( 4, &lvColumn );
lvColumn.cx = 80;
lvColumn.pszText = "出厂编号";
lvColumn.cchTextMax = 8;
lvColumn.iSubItem = 4;
m_lstNeuronId.InsertColumn( 5, &lvColumn );
lvColumn.cx = 80;
lvColumn.pszText = "版本号";
lvColumn.cchTextMax = 6;
lvColumn.iSubItem = 4;
m_lstNeuronId.InsertColumn( 6, &lvColumn );
POSITION pos1 = theApp.m_ListChannel.GetHeadPosition();
while( pos1 )
{
CChannel* pChannel = theApp.m_ListChannel.GetNext( pos1 );
POSITION pos = pChannel->m_ListEquipment.GetHeadPosition();
while( pos )
{
CEquipment* pEquipment = pChannel->m_ListEquipment.GetNext( pos );
// 编号
char szTemp[64];
if ( (WORD)-1 != pEquipment->m_LogicAddr.m_wRtu )
sprintf( szTemp, "%d", pEquipment->m_LogicAddr.m_wRtu );
else
sprintf( szTemp, "?" );
int nIndex = m_lstNeuronId.InsertItem( m_lstNeuronId.GetItemCount(), szTemp );
// IP:LogicAddr
sprintf( szTemp, ":%u", pEquipment->m_LogicAddr.m_btAddrLgc );
if ( pEquipment->m_pChannel )
m_lstNeuronId.SetItemText( nIndex, 1, pEquipment->m_pChannel->GetIP() + szTemp );
// 通讯
if ( pEquipment->m_pChannel && pEquipment->m_pChannel->IsCommOK() )
sprintf( szTemp, "正常" );
else
sprintf( szTemp, "中断" );
m_lstNeuronId.SetItemText( nIndex, 2, szTemp );
// 装置类型
m_lstNeuronId.SetItemText( nIndex, 3, pEquipment->m_szInfo );
// 类型编号
sprintf( szTemp, "%d", pEquipment->m_btInfo[0] );
m_lstNeuronId.SetItemText( nIndex, 4, szTemp );
// 出厂编号
sprintf( szTemp, "%d", pEquipment->m_btInfo[1] );
m_lstNeuronId.SetItemText( nIndex, 5, szTemp );
// 版本号
sprintf( szTemp, "%d.%d", pEquipment->m_btInfo[3], pEquipment->m_btInfo[2] );
m_lstNeuronId.SetItemText( nIndex, 6, szTemp );
}
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -