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

📄 dlglimit.cpp

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

#include "stdafx.h"
#include "vqcwin.h"
#include "dlglimit.h"
#include "dlgSetTime.h"

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

/////////////////////////////////////////////////////////////////////////////
// dlglimit dialog

void dlglimit::InitDataDefineProc()
{
	BYTE i,j;
	char szText[30];

	m_ULockDownLimit=	mxSet->U.LockDownLimit;
	m_ULockUpLimit	=	mxSet->U.LockUpLimit;
	m_UOweValue		=	mxSet->U.oweValue;
	m_UOweWeight	=	mxSet->U.oweWeight;
	m_UfValue1		=	mxSet->U.fValue1;
	m_UfValue2		=	mxSet->U.fValue2;
	m_UWeight1		=	mxSet->U.weight1;
	m_UWeight2		=	mxSet->U.weight2;
	m_UCtrlPercent	=	mxSet->U.ctrlPercent;

	m_QLockDownLimit=	mxSet->Q.LockDownLimit;
	m_QLockUpLimit	=	mxSet->Q.LockUpLimit;
	m_QOweValue		=	mxSet->Q.oweValue;
	m_QOweWeight	=	mxSet->Q.oweWeight;
	m_QfValue1		=	mxSet->Q.fValue1;
	m_QfValue2		=	mxSet->Q.fValue2;
	m_QWeight1		=	mxSet->Q.weight1;
	m_QWeight2		=	mxSet->Q.weight2;
	m_QCtrlPercent	=	mxSet->Q.ctrlPercent;
	m_SeasonNo = -1;

	for (i=0;i<UQ_SECT_NUMBER;i++){
		wsprintf(szText, "%d", i+1);
	    SendDlgItemMessage(IDC_UTimeSectNum,  CB_ADDSTRING, 0,(LPARAM)(LPSTR)&szText[0]);
	    SendDlgItemMessage(IDC_QTimeSectNum,  CB_ADDSTRING, 0,(LPARAM)(LPSTR)&szText[0]);
	}
	for (i=0;i<mxSet->pGlobalDef->SeasonNum;i++){
		j = i+1;
		if (j >= mxSet->pGlobalDef->SeasonNum) j =0;
		wsprintf(szText, "%02d月%02d日 - %02d月%02d日",
			mxSet->pGlobalDef->EndMonth[i],mxSet->pGlobalDef->EndDay[i],
			mxSet->pGlobalDef->EndMonth[j],mxSet->pGlobalDef->EndDay[j]);
	    SendDlgItemMessage(IDC_Season,  CB_ADDSTRING, 0,(LPARAM)(LPSTR)&szText[0]);
	}
	SendDlgItemMessage(IDC_Season,  CB_SETCURSEL, 0, 0);

	OnSelchangeSeason();
}

void dlglimit::SaveCurrSeasonSet()
{
	char szText[30];
	BYTE i;

	if ((m_SeasonNo<0)||(m_SeasonNo>UQ_SEASON_NUMBER)) return;
	mxSet->U.limit[m_SeasonNo].SectNum	=	m_UTimeSectNum+1;
	mxSet->Q.limit[m_SeasonNo].SectNum	=	m_QTimeSectNum+1;
	for (i=0;i<mxSet->U.limit[m_SeasonNo].SectNum;i++){
	    GetDlgItemText(IDC_EDIT1+i, szText, 16);
		mxSet->U.limit[m_SeasonNo].DownLimit[i] = (float)atof(szText);
	    GetDlgItemText(IDC_EDIT17+i, szText, 16);
		mxSet->U.limit[m_SeasonNo].UpLimit[i] = (float)atof(szText);
	}
	for (i=0;i<mxSet->Q.limit[m_SeasonNo].SectNum;i++){
	    GetDlgItemText(IDC_EDIT39+i, szText, 16);
		mxSet->Q.limit[m_SeasonNo].DownLimit[i] = (float)atof(szText);
	    GetDlgItemText(IDC_EDIT55+i, szText, 16);
		mxSet->Q.limit[m_SeasonNo].UpLimit[i] = (float)atof(szText);
	}
}

void dlglimit::EndDataDefineProc()
{
	UpdateData(TRUE);
	mxSet->U.LockDownLimit	=	m_ULockDownLimit;
	mxSet->U.LockUpLimit	=	m_ULockUpLimit;
	mxSet->U.oweValue		=	m_UOweValue;
	mxSet->U.oweWeight		=	m_UOweWeight;
	mxSet->U.fValue1		=	m_UfValue1;
	mxSet->U.fValue2		=	m_UfValue2;
	mxSet->U.weight1		=	m_UWeight1;
	mxSet->U.weight2		=	m_UWeight2;
	mxSet->U.ctrlPercent	=	m_UCtrlPercent;

	mxSet->Q.LockDownLimit	=	m_QLockDownLimit;
	mxSet->Q.LockUpLimit	=	m_QLockUpLimit;
	mxSet->Q.oweValue		=	m_QOweValue;
	mxSet->Q.oweWeight		=	m_QOweWeight;
	mxSet->Q.fValue1		=	m_QfValue1;
	mxSet->Q.fValue2		=	m_QfValue2;
	mxSet->Q.weight1		=	m_QWeight1;
	mxSet->Q.weight2		=	m_QWeight2;
	mxSet->Q.ctrlPercent	=	m_QCtrlPercent;

	SaveCurrSeasonSet();
}


dlglimit::dlglimit(CWnd* pParent /*=NULL*/)
	: CDialog(dlglimit::IDD, pParent)
{
	//{{AFX_DATA_INIT(dlglimit)
	m_QfValue1 = 0.0f;
	m_QfValue2 = 0.0f;
	m_QLockDownLimit = 0.0f;
	m_QLockUpLimit = 0.0f;
	m_QOweValue = 0.0f;
	m_QTimeSectNum = -1;
	m_QWeight1 = 0;
	m_QOweWeight = 0;
	m_QWeight2 = 0;
	m_UfValue1 = 0.0f;
	m_UfValue2 = 0.0f;
	m_ULockDownLimit = 0.0f;
	m_ULockUpLimit = 0.0f;
	m_UOweValue = 0.0f;
	m_UOweWeight = 0;
	m_UWeight1 = 0;
	m_UWeight2 = 0;
	m_SeasonNo = -1;
	m_UTimeSectNum = -1;
	m_QCtrlPercent = 0;
	m_UCtrlPercent = 0;
	//}}AFX_DATA_INIT
}


void dlglimit::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(dlglimit)
	DDX_Control(pDX, IDC_UTimeSect, m_UTimeSect);
	DDX_Control(pDX, IDC_QTimeSect, m_QTimeSect);
	DDX_Text(pDX, IDC_QfValue1, m_QfValue1);
	DDX_Text(pDX, IDC_QfValue2, m_QfValue2);
	DDX_Text(pDX, IDC_QLockDownLimit, m_QLockDownLimit);
	DDX_Text(pDX, IDC_QLockUpLimit, m_QLockUpLimit);
	DDX_Text(pDX, IDC_QOweValue, m_QOweValue);
	DDX_CBIndex(pDX, IDC_QTimeSectNum, m_QTimeSectNum);
	DDX_Text(pDX, IDC_QWeight1, m_QWeight1);
	DDX_Text(pDX, IDC_QOweWeight, m_QOweWeight);
	DDX_Text(pDX, IDC_QWeight2, m_QWeight2);
	DDX_Text(pDX, IDC_UfValue1, m_UfValue1);
	DDX_Text(pDX, IDC_UfValue2, m_UfValue2);
	DDX_Text(pDX, IDC_ULockDownLimit, m_ULockDownLimit);
	DDX_Text(pDX, IDC_ULockUpLimit, m_ULockUpLimit);
	DDX_Text(pDX, IDC_UOweValue, m_UOweValue);
	DDX_Text(pDX, IDC_UOweWeight, m_UOweWeight);
	DDX_Text(pDX, IDC_UWeight1, m_UWeight1);
	DDX_Text(pDX, IDC_UWeight2, m_UWeight2);
	DDX_CBIndex(pDX, IDC_Season, m_SeasonNo);
	DDX_CBIndex(pDX, IDC_UTimeSectNum, m_UTimeSectNum);
	DDX_Text(pDX, IDC_QCtrlPercent, m_QCtrlPercent);
	DDV_MinMaxByte(pDX, m_QCtrlPercent, 0, 20);
	DDX_Text(pDX, IDC_UCtrlPercent, m_UCtrlPercent);
	DDV_MinMaxByte(pDX, m_UCtrlPercent, 0, 20);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(dlglimit, CDialog)
	//{{AFX_MSG_MAP(dlglimit)
	ON_BN_CLICKED(IDC_SAMEMX1, OnSamemx1)
	ON_CBN_SELCHANGE(IDC_QTimeSectNum, OnSelchangeQTimeSectNum)
	ON_CBN_SELCHANGE(IDC_UTimeSectNum, OnSelchangeUTimeSectNum)
	ON_LBN_DBLCLK(IDC_UTimeSect, OnDblclkUTimeSect)
	ON_CBN_SELCHANGE(IDC_Season, OnSelchangeSeason)
	ON_BN_CLICKED(IDC_SAMESEASON1, OnSameseason1)
	ON_LBN_DBLCLK(IDC_QTimeSect, OnDblclkQTimeSect)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// dlglimit message handlers

BOOL dlglimit::OnInitDialog() 
{
	BYTE i;

	InitDataDefineProc();

	CDialog::OnInitDialog();

	char headName[60];
	strcpy(headName, dlgName);
	strcat(headName,"参数设置");
	SetWindowText(headName);

	OnSelchangeUTimeSectNum();
	OnSelchangeQTimeSectNum();

	if (mxSet->pGlobalDef->bSameAllDevice)
		if (mxSet->ZBNo||mxSet->MXNo){
			GetDlgItem(IDC_Season)->EnableWindow(FALSE);
			GetDlgItem(IDC_SAMESEASON1)->EnableWindow(FALSE);
			GetDlgItem(IDC_SAMEMX1)->EnableWindow(FALSE);

			GetDlgItem(IDC_UTimeSectNum)->EnableWindow(FALSE);
			GetDlgItem(IDC_UTimeSect)->EnableWindow(FALSE);
			GetDlgItem(IDC_UCtrlPercent)->EnableWindow(FALSE);
			GetDlgItem(IDC_ULockUpLimit)->EnableWindow(FALSE);
			GetDlgItem(IDC_ULockDownLimit)->EnableWindow(FALSE);
			GetDlgItem(IDC_UOweValue)->EnableWindow(FALSE);
			GetDlgItem(IDC_UOweWeight)->EnableWindow(FALSE);
			GetDlgItem(IDC_UfValue1)->EnableWindow(FALSE);
			GetDlgItem(IDC_UWeight1)->EnableWindow(FALSE);
			GetDlgItem(IDC_UfValue2)->EnableWindow(FALSE);
			GetDlgItem(IDC_UWeight2)->EnableWindow(FALSE);

			GetDlgItem(IDC_QTimeSectNum)->EnableWindow(FALSE);
			GetDlgItem(IDC_QTimeSect)->EnableWindow(FALSE);
			GetDlgItem(IDC_QCtrlPercent)->EnableWindow(FALSE);
			GetDlgItem(IDC_QLockUpLimit)->EnableWindow(FALSE);
			GetDlgItem(IDC_QLockDownLimit)->EnableWindow(FALSE);
			GetDlgItem(IDC_QOweValue)->EnableWindow(FALSE);
			GetDlgItem(IDC_QOweWeight)->EnableWindow(FALSE);
			GetDlgItem(IDC_QfValue1)->EnableWindow(FALSE);
			GetDlgItem(IDC_QWeight1)->EnableWindow(FALSE);
			GetDlgItem(IDC_QfValue2)->EnableWindow(FALSE);
			GetDlgItem(IDC_QWeight2)->EnableWindow(FALSE);

			for (i=0;i<UQ_SECT_NUMBER;i++){
				GetDlgItem(IDC_STATIC_TIME1+i)->EnableWindow(FALSE);
				GetDlgItem(IDC_EDIT1+i)->EnableWindow(FALSE);
				GetDlgItem(IDC_EDIT17+i)->EnableWindow(FALSE);

				GetDlgItem(IDC_STATIC_TIME17+i)->EnableWindow(FALSE);
				GetDlgItem(IDC_EDIT39+i)->EnableWindow(FALSE);
				GetDlgItem(IDC_EDIT55+i)->EnableWindow(FALSE);
			}
		}
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void dlglimit::OnOK() 
{
	// TODO: Add extra validation here
	EndDataDefineProc();
	CDialog::OnOK();
}

⌨️ 快捷键说明

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