setldmeteraddrdlg.cpp

来自「这是一个变电站的监控程序」· C++ 代码 · 共 100 行

CPP
100
字号
// SetLDMeterAddrDlg.cpp : implementation file
//

#include "stdafx.h"
#include "fert2000.h"
#include "SetLDMeterAddrDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern ADDR *Addr;
/////////////////////////////////////////////////////////////////////////////
// CSetLDMeterAddrDlg dialog


CSetLDMeterAddrDlg::CSetLDMeterAddrDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSetLDMeterAddrDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSetLDMeterAddrDlg)
	m_ComStr = _T("");
	m_AddrStr = _T("");
	//}}AFX_DATA_INIT
}


void CSetLDMeterAddrDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSetLDMeterAddrDlg)
	DDX_Control(pDX, IDC_METERADDR, m_AddrCtrl);
	DDX_Control(pDX, IDC_COMBO_METER, m_ComMeter);
	DDX_CBString(pDX, IDC_COMBO_METER, m_ComStr);
	DDX_Text(pDX, IDC_METERADDR, m_AddrStr);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSetLDMeterAddrDlg, CDialog)
	//{{AFX_MSG_MAP(CSetLDMeterAddrDlg)
	ON_CBN_SELCHANGE(IDC_COMBO_METER, OnSelchangeComboMeter)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSetLDMeterAddrDlg message handlers

BOOL CSetLDMeterAddrDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	int Index=0;
	STATION * Station=Addr->Station_addr;
	for(int i=0;i<Station->rtunum;i++)
	{
        RTUPARA * rtuparameter=Addr->RtuPara_addr+i;//GetRtuParaPt(Addr,i);
		if(rtuparameter)
		{
			if(rtuparameter->useflag !=0)
			{
				if(rtuparameter->protocolno==1)
				{
					m_ComMeter.AddString(rtuparameter->rtuname);
			        m_ComMeter.SetItemData(Index,rtuparameter->rtuno);
					Index++;
				}
			}
		}
	}
    m_AddrCtrl.Clear();	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSetLDMeterAddrDlg::OnSelchangeComboMeter() 
{
	// TODO: Add your control notification handler code here
	int k=m_ComMeter.GetCurSel();
    STATION * Station=Addr->Station_addr;
    int j=m_ComMeter.GetItemData(k);
	RTUPARA * rtuparameter=Addr->RtuPara_addr+j;
	if(rtuparameter)
		m_AddrStr=rtuparameter->rtuaddr;
	UpdateData(FALSE);	
}

void CSetLDMeterAddrDlg::OnOK() 
{
	// TODO: Add extra validation here
	int k=m_ComMeter.GetCurSel();
    int j=m_ComMeter.GetItemData(k);
	RTUPARA * rtuparameter=Addr->RtuPara_addr+j;
	if(rtuparameter)
		rtuparameter->CommandSendFlag[4]=TRUE;
    MessageBox("请按下欲设置表址的龙电电表的2号按钮10秒钟","注意",MB_OK);	
//	CDialog::OnOK();
}

⌨️ 快捷键说明

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