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

📄 dlgzb.cpp

📁 电力系统无功自动补偿的操作系统程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// dlgzb.cpp : implementation file
//

#include "stdafx.h"
#include "vqcwin.h"
#include "dlgmx.h"
#include "dlgzb.h"
#include "dlgdblink.h"
#include "dlglock.h"

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

/////////////////////////////////////////////////////////////////////////////
// dlgzb dialog

void dlgzb::InitDataDefineProc()
{
	BYTE i;
	char szText[20];
	m_ForbiddenDownValue=	zbSet.ForbiddenDownValue;
	m_ForbiddenUpValue	=	zbSet.ForbiddenUpValue;
	m_UseAnotherVoltageLock = zbSet.bUseAnotherVoltageLock;
	m_MXNum		=	zbSet.MXNum;
	if (m_MXNum>0)	m_MXNum--;
	else m_MXNum=0;
	for (i=0;i<2;i++){
		wsprintf(szText, "%d", i+1);
	    SendDlgItemMessage(IDC_MXNum,  CB_ADDSTRING, 0,(LPARAM)(LPSTR)&szText[0]);
	}

	if (zbSet.pFatherVQC->globalDef.DevControlMode == DEVMODE_ONLY_DRQ) return;

	m_DQ	=	zbSet.DQ;
	m_DU	=	zbSet.DU;
	m_FJTLockTime		=	zbSet.FJTLockTime;
	m_FjtMaxActTimes	=	zbSet.FjtMaxActTimes;
	m_IMaxValue	=	zbSet.IMaxValue;
	m_IMinValue	=	zbSet.IMinValue;
	m_MaxPos	=	zbSet.MaxPos;
	m_MinPos	=	zbSet.MinPos;
	m_UseJT		= zbSet.bUseJT;
	m_MidDwNum	=	zbSet.MidDwNum;
	m_MidDw1	=	zbSet.MidDw[0];
	m_MidDw2	=	zbSet.MidDw[1];
	m_MidDw3	=	zbSet.MidDw[2];
	m_MidDw4	=	zbSet.MidDw[3];
	for (i=0;i<=VQC_FJTMIDDWNUM;i++){
		wsprintf(szText, "%d", i);
	    SendDlgItemMessage(IDC_MidDwNum,  CB_ADDSTRING, 0,(LPARAM)(LPSTR)&szText[0]);
	}
}

void dlgzb::EndDataDefineProc()
{
	UpdateData(TRUE);
	zbSet.ForbiddenDownValue	=	m_ForbiddenDownValue;
	zbSet.ForbiddenUpValue		=	m_ForbiddenUpValue;
	zbSet.bUseAnotherVoltageLock=	m_UseAnotherVoltageLock;
	zbSet.MXNum		=	m_MXNum+1;

	if (zbSet.pFatherVQC->globalDef.DevControlMode == DEVMODE_ONLY_DRQ){
		zbSet.DQ = 0;
		zbSet.DU = 0;
		zbSet.MidDwNum = 0;
		zbSet.FJTLockTime = 180;
		return;
	}

	zbSet.DQ	=	m_DQ;
	zbSet.DU	=	m_DU;
	zbSet.FJTLockTime		=	m_FJTLockTime;
	zbSet.FjtMaxActTimes	=	m_FjtMaxActTimes;
	zbSet.IMaxValue	=	m_IMaxValue;
	zbSet.IMinValue	=	m_IMinValue;
	zbSet.MaxPos	=	m_MaxPos;
	zbSet.MinPos	=	m_MinPos;
	zbSet.bUseJT	=	m_UseJT;
	zbSet.MidDwNum	=	m_MidDwNum;
	zbSet.MidDw[0]	=	m_MidDw1;
	zbSet.MidDw[1]	=	m_MidDw2;
	zbSet.MidDw[2]	=	m_MidDw3;
	zbSet.MidDw[3]	=	m_MidDw4;
}

dlgzb::dlgzb(CWnd* pParent /*=NULL*/)
	: CDialog(dlgzb::IDD, pParent)
{
	//{{AFX_DATA_INIT(dlgzb)
	m_DQ = 0.0f;
	m_DU = 0.0f;
	m_FJTLockTime = 0;
	m_FjtMaxActTimes = 0;
	m_ForbiddenDownValue = 0.0f;
	m_ForbiddenUpValue = 0.0f;
	m_IMaxValue = 0.0f;
	m_IMinValue = 0.0f;
	m_MidDwNum = -1;
	m_MXNum = -1;
	m_UseAnotherVoltageLock = FALSE;
	m_MaxPos = 0;
	m_MidDw1 = 0;
	m_MidDw2 = 0;
	m_MidDw4 = 0;
	m_MidDw3 = 0;
	m_MinPos = 0;
	m_UseJT = FALSE;
	//}}AFX_DATA_INIT
}


void dlgzb::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(dlgzb)
	DDX_Text(pDX, IDC_DQ, m_DQ);
	DDX_Text(pDX, IDC_DU, m_DU);
	DDX_Text(pDX, IDC_FJTLockTime, m_FJTLockTime);
	DDV_MinMaxUInt(pDX, m_FJTLockTime, 0, 1000);
	DDX_Text(pDX, IDC_FjtMaxActTimes, m_FjtMaxActTimes);
	DDV_MinMaxUInt(pDX, m_FjtMaxActTimes, 0, 500);
	DDX_Text(pDX, IDC_ForbiddenDownValue, m_ForbiddenDownValue);
	DDX_Text(pDX, IDC_ForbiddenUpValue, m_ForbiddenUpValue);
	DDX_Text(pDX, IDC_IMaxValue, m_IMaxValue);
	DDX_Text(pDX, IDC_IMinValue, m_IMinValue);
	DDX_CBIndex(pDX, IDC_MidDwNum, m_MidDwNum);
	DDX_CBIndex(pDX, IDC_MXNum, m_MXNum);
	DDX_Check(pDX, IDC_UseAnotherVoltageLock, m_UseAnotherVoltageLock);
	DDX_Text(pDX, IDC_MaxPos, m_MaxPos);
	DDV_MinMaxInt(pDX, m_MaxPos, -100, 500);
	DDX_Text(pDX, IDC_MidDw1, m_MidDw1);
	DDV_MinMaxInt(pDX, m_MidDw1, -100, 500);
	DDX_Text(pDX, IDC_MidDw2, m_MidDw2);
	DDV_MinMaxInt(pDX, m_MidDw2, -100, 500);
	DDX_Text(pDX, IDC_MidDw4, m_MidDw4);
	DDV_MinMaxInt(pDX, m_MidDw4, -100, 500);
	DDX_Text(pDX, IDC_MidDw3, m_MidDw3);
	DDV_MinMaxInt(pDX, m_MidDw3, -100, 500);
	DDX_Text(pDX, IDC_MinPos, m_MinPos);
	DDV_MinMaxInt(pDX, m_MinPos, -100, 500);
	DDX_Check(pDX, IDC_UseJT, m_UseJT);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(dlgzb, CDialog)
	//{{AFX_MSG_MAP(dlgzb)
	ON_BN_CLICKED(IDC_UseAnotherVoltageLock, OnUseAnotherVoltageLock)
	ON_BN_CLICKED(IDC_SAMEZB1, OnSamezb1)
	ON_CBN_SELCHANGE(IDC_MidDwNum, OnSelchangeMidDwNum)
	ON_CBN_SELCHANGE(IDC_MXNum, OnSelchangeMXNum)
	ON_BN_CLICKED(IDC_MX1, OnMx1)
	ON_BN_CLICKED(IDC_MX2, OnMx2)
	ON_BN_CLICKED(IDC_LOCKDEF, OnLockdef)
	ON_BN_CLICKED(IDC_ReSet, OnReSet)
	ON_BN_CLICKED(IDC_AnotherVoltageRec, OnAnotherVoltageRec)
	ON_BN_CLICKED(IDC_DwValueRec, OnDwValueRec)
	ON_BN_CLICKED(IDC_FjtJTKgRec, OnFjtJTKgRec)
	ON_BN_CLICKED(IDC_FjtLockStatRec, OnFjtLockStatRec)
	ON_BN_CLICKED(IDC_FjtRejectStatRec, OnFjtRejectStatRec)
	ON_BN_CLICKED(IDC_FjtSJKgRec, OnFjtSJKgRec)
	ON_BN_CLICKED(IDC_ILockRec, OnILockRec)
	ON_BN_CLICKED(IDC_LockFjtYxRec, OnLockFjtYxRec)
	ON_BN_CLICKED(IDC_ZB1cDzRec, OnZB1cDzRec)
	ON_BN_CLICKED(IDC_ZB1cKgRec, OnZB1cKgRec)
	ON_BN_CLICKED(IDC_ZBBhRec, OnZBBhRec)
	ON_BN_CLICKED(IDC_UseJT, OnUseJT)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// dlgzb message handlers

void dlgzb::OnUseAnotherVoltageLock() 
{
	// TODO: Add your control notification handler code here
	BOOL stat = FALSE;
	if (IsDlgButtonChecked(IDC_UseAnotherVoltageLock)) stat = TRUE;

	GetDlgItem(IDC_AnotherVoltageRec)->EnableWindow(stat);
	GetDlgItem(IDC_ForbiddenUpValue)->EnableWindow(stat);
	GetDlgItem(IDC_ForbiddenDownValue)->EnableWindow(stat);
}

void dlgzb::OnSamezb1() 
{
	// TODO: Add your control notification handler code here
	m_ForbiddenDownValue=	zbSet.pFatherVQC->ZB[0].ForbiddenDownValue;
	m_ForbiddenUpValue	=	zbSet.pFatherVQC->ZB[0].ForbiddenUpValue;

	if (zbSet.pFatherVQC->globalDef.DevControlMode != DEVMODE_ONLY_DRQ){
		m_FjtMaxActTimes	=	zbSet.pFatherVQC->ZB[0].FjtMaxActTimes;
		m_DQ			=	zbSet.pFatherVQC->ZB[0].DQ;
		m_DU			=	zbSet.pFatherVQC->ZB[0].DU;
		m_FJTLockTime	=	zbSet.pFatherVQC->ZB[0].FJTLockTime;
		m_IMaxValue		=	zbSet.pFatherVQC->ZB[0].IMaxValue;
		m_IMinValue		=	zbSet.pFatherVQC->ZB[0].IMinValue;
		m_MXNum			=	zbSet.pFatherVQC->ZB[0].MXNum+1;
		m_MaxPos		=	zbSet.pFatherVQC->ZB[0].MaxPos;
		m_MinPos		=	zbSet.pFatherVQC->ZB[0].MinPos;
		m_UseAnotherVoltageLock = zbSet.pFatherVQC->ZB[0].bUseAnotherVoltageLock;
		m_UseJT			=   zbSet.pFatherVQC->ZB[0].bUseJT;
		m_MidDwNum		=	zbSet.pFatherVQC->ZB[0].MidDwNum;
		m_MidDw1		=	zbSet.pFatherVQC->ZB[0].MidDw[0];
		m_MidDw2		=	zbSet.pFatherVQC->ZB[0].MidDw[1];
		m_MidDw3		=	zbSet.pFatherVQC->ZB[0].MidDw[2];
		m_MidDw4		=	zbSet.pFatherVQC->ZB[0].MidDw[3];
	}
	UpdateData(FALSE);
}

void dlgzb::OnOK() 
{
	// TODO: Add extra validation here
	char alarmMsg[128];
	strcpy(alarmMsg, dlgName);
	EndDataDefineProc();
	if (FALSE == zbSet.CheckParam(&alarmMsg[strlen(alarmMsg)])){
		strcat(alarmMsg,"您确定退出吗?");
		if (IDYES==MessageBox(alarmMsg, "警告", MB_YESNO | MB_ICONQUESTION)) CDialog::OnOK();
		else return;
	}
	CDialog::OnOK();
}

BOOL dlgzb::OnInitDialog() 
{
	InitDataDefineProc();
	CDialog::OnInitDialog();
	
	char headName[60];
	strcpy(headName, dlgName);
	strcat(headName,"参数设置");
	SetWindowText(headName);

	if (zbSet.ZBNo ==0)
		 GetDlgItem(IDC_SAMEZB1)->EnableWindow(FALSE);
	else GetDlgItem(IDC_SAMEZB1)->EnableWindow(TRUE);
	OnSelchangeMXNum();
	OnUseAnotherVoltageLock();
	OnSelchangeMidDwNum();
	OnUseJT();

	if (zbSet.pFatherVQC->globalDef.DevControlMode == DEVMODE_ONLY_DRQ){
		GetDlgItem(IDC_DwValueRec)->EnableWindow(FALSE);
		GetDlgItem(IDC_FjtJTKgRec)->EnableWindow(FALSE);
		GetDlgItem(IDC_FjtSJKgRec)->EnableWindow(FALSE);
		GetDlgItem(IDC_ILockRec)->EnableWindow(FALSE);
		GetDlgItem(IDC_FjtRejectStatRec)->EnableWindow(FALSE);
		GetDlgItem(IDC_LockFjtYxRec)->EnableWindow(FALSE);
		GetDlgItem(IDC_FjtLockStatRec)->EnableWindow(FALSE);
		
		GetDlgItem(IDC_IMaxValue)->EnableWindow(FALSE);
		GetDlgItem(IDC_IMinValue)->EnableWindow(FALSE);
		GetDlgItem(IDC_FjtMaxActTimes)->EnableWindow(FALSE);
		GetDlgItem(IDC_MaxPos)->EnableWindow(FALSE);
		GetDlgItem(IDC_MinPos)->EnableWindow(FALSE);

⌨️ 快捷键说明

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