📄 dlgmx.cpp
字号:
// dlgmx.cpp : implementation file
//
#include "stdafx.h"
#include "vqcwin.h"
#include "dlgmx.h"
#include "dlglimit.h"
#include "dlgdrq.h"
#include "dlgdblink.h"
#include "dlglock.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// dlgmx dialog
void dlgmx::InitDataDefineProc()
{
m_LinkQ = mxSet.bLinkQ;
m_ActWeight = mxSet.ActWeight;
m_JudgeTime = mxSet.JudgeTime;
if (mxSet.pGlobalDef->DevControlMode == DEVMODE_ONLY_FJT){
m_DrqNum = 0;
m_DkqNum = 0;
}
else {
m_DrqNum = mxSet.DRQNum;
m_DkqNum = mxSet.DKQNum;
}
m_LeftLinkDevNum = mxSet.LeftLinkDevNum;
m_RightLinkDevNum = mxSet.RightLinkDevNum;
}
void dlgmx::EndDataDefineProc()
{
UpdateData(TRUE);
mxSet.bLinkQ = m_LinkQ;
mxSet.ActWeight = m_ActWeight;
mxSet.JudgeTime = m_JudgeTime;
if (mxSet.pGlobalDef->DevControlMode == DEVMODE_ONLY_FJT){
mxSet.DRQNum = 0;
mxSet.DKQNum = 0;
}
else {
mxSet.DRQNum = m_DrqNum;
mxSet.DKQNum = m_DkqNum;
}
mxSet.LeftLinkDevNum = m_LeftLinkDevNum;
mxSet.RightLinkDevNum = m_RightLinkDevNum;
}
dlgmx::dlgmx(CWnd* pParent /*=NULL*/)
: CDialog(dlgmx::IDD, pParent)
{
//{{AFX_DATA_INIT(dlgmx)
m_ActWeight = 0;
m_DkqNum = -1;
m_DrqNum = -1;
m_JudgeTime = 0;
m_LeftLinkDevNum = -1;
m_LinkQ = FALSE;
m_RightLinkDevNum = -1;
//}}AFX_DATA_INIT
}
void dlgmx::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(dlgmx)
DDX_Text(pDX, IDC_ActWeight, m_ActWeight);
DDV_MinMaxUInt(pDX, m_ActWeight, 10, 10000);
DDX_CBIndex(pDX, IDC_DkqNum, m_DkqNum);
DDX_CBIndex(pDX, IDC_DrqNum, m_DrqNum);
DDX_Text(pDX, IDC_JudgeTime, m_JudgeTime);
DDV_MinMaxUInt(pDX, m_JudgeTime, 30, 1000);
DDX_CBIndex(pDX, IDC_LeftLinkDevNum, m_LeftLinkDevNum);
DDX_Check(pDX, IDC_LinkQ, m_LinkQ);
DDX_CBIndex(pDX, IDC_RightLinkDevNum, m_RightLinkDevNum);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(dlgmx, CDialog)
//{{AFX_MSG_MAP(dlgmx)
ON_CBN_SELCHANGE(IDC_DkqNum, OnSelchangeDkqNum)
ON_CBN_SELCHANGE(IDC_DrqNum, OnSelchangeDrqNum)
ON_CBN_SELCHANGE(IDC_LeftLinkDevNum, OnSelchangeLeftLinkDevNum)
ON_CBN_SELCHANGE(IDC_RightLinkDevNum, OnSelchangeRightLinkDevNum)
ON_BN_CLICKED(IDC_DRQ1, OnDrq1)
ON_BN_CLICKED(IDC_DRQ2, OnDrq2)
ON_BN_CLICKED(IDC_DRQ3, OnDrq3)
ON_BN_CLICKED(IDC_DRQ4, OnDrq4)
ON_BN_CLICKED(IDC_DRQ5, OnDrq5)
ON_BN_CLICKED(IDC_DRQ6, OnDrq6)
ON_BN_CLICKED(IDC_DKQ1, OnDkq1)
ON_BN_CLICKED(IDC_DKQ2, OnDkq2)
ON_BN_CLICKED(IDC_DKQ3, OnDkq3)
ON_BN_CLICKED(IDC_DKQ4, OnDkq4)
ON_BN_CLICKED(IDC_DKQ5, OnDkq5)
ON_BN_CLICKED(IDC_DKQ6, OnDkq6)
ON_BN_CLICKED(IDC_SAMEMX1, OnSamemx1)
ON_BN_CLICKED(IDC_Limit, OnLimit)
ON_BN_CLICKED(IDC_LOCKDEF, OnLockdef)
ON_BN_CLICKED(IDC_ReSet, OnReSet)
ON_BN_CLICKED(IDC_AskDrqCloseRec, OnAskDrqCloseRec)
ON_BN_CLICKED(IDC_AskDrqOpenRec, OnAskDrqOpenRec)
ON_BN_CLICKED(IDC_AskFjtDownRec, OnAskFjtDownRec)
ON_BN_CLICKED(IDC_AskFjtUpRec, OnAskFjtUpRec)
ON_BN_CLICKED(IDC_LeftLinkDevRec1, OnLeftLinkDevRec1)
ON_BN_CLICKED(IDC_LeftLinkDevRec2, OnLeftLinkDevRec2)
ON_BN_CLICKED(IDC_LeftLinkDevRec3, OnLeftLinkDevRec3)
ON_BN_CLICKED(IDC_LeftLinkDevRec4, OnLeftLinkDevRec4)
ON_BN_CLICKED(IDC_LinkZbDzDevRec, OnLinkZbDzDevRec)
ON_BN_CLICKED(IDC_LinkZbKgDevRec, OnLinkZbKgDevRec)
ON_BN_CLICKED(IDC_RightLinkDevRec1, OnRightLinkDevRec1)
ON_BN_CLICKED(IDC_RightLinkDevRec2, OnRightLinkDevRec2)
ON_BN_CLICKED(IDC_RightLinkDevRec3, OnRightLinkDevRec3)
ON_BN_CLICKED(IDC_RightLinkDevRec4, OnRightLinkDevRec4)
ON_BN_CLICKED(IDC_URec, OnURec)
ON_BN_CLICKED(IDC_QRec, OnQRec)
ON_BN_CLICKED(IDC_PRec, OnPRec)
ON_BN_CLICKED(IDC_LockStatRec, OnLockStatRec)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// dlgmx message handlers
BOOL dlgmx::OnInitDialog()
{
BYTE i;
InitDataDefineProc();
char szText[20];
for (i=0;i<=VQC_DRQNUM;i++){
wsprintf(szText, "%d", i);
SendDlgItemMessage(IDC_DrqNum, CB_ADDSTRING, 0,(LPARAM)(LPSTR)&szText[0]);
SendDlgItemMessage(IDC_DkqNum, CB_ADDSTRING, 0,(LPARAM)(LPSTR)&szText[0]);
}
for (i=0;i<=4;i++){
wsprintf(szText, "%d", i);
SendDlgItemMessage(IDC_LeftLinkDevNum, CB_ADDSTRING, 0,(LPARAM)(LPSTR)&szText[0]);
SendDlgItemMessage(IDC_RightLinkDevNum, CB_ADDSTRING, 0,(LPARAM)(LPSTR)&szText[0]);
}
CDialog::OnInitDialog();
char headName[60];
strcpy(headName, dlgName);
strcat(headName,"参数设置");
SetWindowText(headName);
if (mxSet.pGlobalDef->DevControlMode == DEVMODE_ONLY_FJT){
GetDlgItem(IDC_DrqNum)->EnableWindow(FALSE);
GetDlgItem(IDC_DkqNum)->EnableWindow(FALSE);
for (BYTE i=0;i<VQC_DRQNUM;i++){
GetDlgItem(IDC_DRQ1+i)->EnableWindow(FALSE);
GetDlgItem(IDC_DKQ1+i)->EnableWindow(FALSE);
}
}else{
OnSelchangeDrqNum();
OnSelchangeDkqNum();
}
OnSelchangeLeftLinkDevNum();
OnSelchangeRightLinkDevNum();
if (mxSet.pGlobalDef->bSameAllDevice)
if (mxSet.ZBNo||mxSet.MXNo){
GetDlgItem(IDC_LinkQ)->EnableWindow(FALSE);
GetDlgItem(IDC_ActWeight)->EnableWindow(FALSE);
GetDlgItem(IDC_JudgeTime)->EnableWindow(FALSE);
GetDlgItem(IDC_SAMEMX1)->EnableWindow(FALSE);
}
// TODO: Add extra initialization here
DispDblinkDefineButton();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void dlgmx::OnSelchangeDkqNum()
{
// TODO: Add your control notification handler code here
mxSet.DKQNum = (int)SendDlgItemMessage(IDC_DkqNum,CB_GETCURSEL,0,0L);
for (BYTE i=0;i<VQC_DRQNUM;i++){
if (i<mxSet.DKQNum) GetDlgItem(IDC_DKQ1+i)->EnableWindow(TRUE);
else GetDlgItem(IDC_DKQ1+i)->EnableWindow(FALSE);
}
}
void dlgmx::OnSelchangeDrqNum()
{
// TODO: Add your control notification handler code here
mxSet.DRQNum = (int)SendDlgItemMessage(IDC_DrqNum,CB_GETCURSEL,0,0L);
for (BYTE i=0;i<VQC_DRQNUM;i++){
if (i<mxSet.DRQNum) GetDlgItem(IDC_DRQ1+i)->EnableWindow(TRUE);
else GetDlgItem(IDC_DRQ1+i)->EnableWindow(FALSE);
}
}
void dlgmx::OnSelchangeLeftLinkDevNum()
{
// TODO: Add your control notification handler code here
mxSet.LeftLinkDevNum = (int)SendDlgItemMessage(IDC_LeftLinkDevNum,CB_GETCURSEL,0,0L);
for (BYTE i=0;i<4;i++){
if (i<mxSet.LeftLinkDevNum) GetDlgItem(IDC_LeftLinkDevRec1+i)->EnableWindow(TRUE);
else GetDlgItem(IDC_LeftLinkDevRec1+i)->EnableWindow(FALSE);
}
}
void dlgmx::OnSelchangeRightLinkDevNum()
{
// TODO: Add your control notification handler code here
mxSet.RightLinkDevNum = (int)SendDlgItemMessage(IDC_RightLinkDevNum,CB_GETCURSEL,0,0L);
for (BYTE i=0;i<4;i++){
if (i<mxSet.RightLinkDevNum) GetDlgItem(IDC_RightLinkDevRec1+i)->EnableWindow(TRUE);
else GetDlgItem(IDC_RightLinkDevRec1+i)->EnableWindow(FALSE);
}
}
void dlgmx::OnDrqDkq(BYTE i, BOOL isDrq)
{
int l;
dlgdrq drqDef;
if ((i<0)||(i>VQC_DRQNUM)) return;
l = strlen(dlgName);
if (isDrq) wsprintf(&dlgName[l], "#%d电容器:",i+1);
else wsprintf(&dlgName[l], "#%d电抗器:",i+1);
EndDataDefineProc();
drqDef.drqSet.pFatherMX = &mxSet;
if (isDrq) drqDef.drqSet = mxSet.DRQ[i];
else drqDef.drqSet = mxSet.DKQ[i];
drqDef.dlgName = dlgName;
if (IDOK==drqDef.DoModal()) {
if (isDrq) mxSet.DRQ[i] = drqDef.drqSet;
else mxSet.DKQ[i] = drqDef.drqSet;
}
dlgName[l] = 0;
}
void dlgmx::OnDrq1()
{
// TODO: Add your control notification handler code here
OnDrqDkq(0, TRUE);
}
void dlgmx::OnDrq2()
{
// TODO: Add your control notification handler code here
OnDrqDkq(1, TRUE);
}
void dlgmx::OnDrq3()
{
// TODO: Add your control notification handler code here
OnDrqDkq(2, TRUE);
}
void dlgmx::OnDrq4()
{
// TODO: Add your control notification handler code here
OnDrqDkq(3, TRUE);
}
void dlgmx::OnDrq5()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -