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

📄 setmeteraddrdlg.cpp

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

#include "stdafx.h"
#include "fert2000.h"
#include "SetMeterAddrDlg.h"


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


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

}


void CSetMeterAddrDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSetMeterAddrDlg)
	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(CSetMeterAddrDlg, CDialog)
	//{{AFX_MSG_MAP(CSetMeterAddrDlg)
	ON_CBN_SELCHANGE(IDC_COMBO_METER, OnSelchangeComboMeter)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSetMeterAddrDlg message handlers

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

BOOL CSetMeterAddrDlg::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 CSetMeterAddrDlg::OnSelchangeComboMeter() 
{
	// TODO: Add your control notification handler code here
//    UpdateData(TRUE);
	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);

}

⌨️ 快捷键说明

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