📄 dlglimit.cpp
字号:
void dlglimit::OnSamemx1()
{
// TODO: Add your control notification handler code here
VQCMUXI_DBS *pmx;
if ((mxSet->ZBNo==0)&&(mxSet->MXNo==0)) return;
if (mxSet->pFatherZB->ZBNo==0)
pmx = &(mxSet->pFatherZB->MX[0]);
else pmx = &(mxSet->pFatherZB->pFatherVQC->ZB[0].MX[0]);
m_ULockDownLimit= pmx->U.LockDownLimit;
m_ULockUpLimit = pmx->U.LockUpLimit;
m_UOweValue = pmx->U.oweValue;
m_UOweWeight = pmx->U.oweWeight;
m_UfValue1 = pmx->U.fValue1;
m_UfValue2 = pmx->U.fValue2;
m_UWeight1 = pmx->U.weight1;
m_UWeight2 = pmx->U.weight2;
m_QLockDownLimit= pmx->Q.LockDownLimit;
m_QLockUpLimit = pmx->Q.LockUpLimit;
m_QOweValue = pmx->Q.oweValue;
m_QOweWeight = pmx->Q.oweWeight;
m_QfValue1 = pmx->Q.fValue1;
m_QfValue2 = pmx->Q.fValue2;
m_QWeight1 = pmx->Q.weight1;
m_QWeight2 = pmx->Q.weight2;
for (BYTE i=0;i<UQ_SEASON_NUMBER;i++){
mxSet->U.limit[i] = pmx->U.limit[i];
mxSet->Q.limit[i] = pmx->Q.limit[i];
}
UpdateData(FALSE);
OnSelchangeSeason();
}
void dlglimit::OnSameseason1()
{
// TODO: Add your control notification handler code here
if (m_SeasonNo<=0) return;
mxSet->U.limit[m_SeasonNo] = mxSet->U.limit[0];
mxSet->Q.limit[m_SeasonNo] = mxSet->Q.limit[0];
OnSelchangeSeason();
}
void dlglimit::OnSelchangeSeason()
{
// TODO: Add your control notification handler code here
int i;
i = (int)SendDlgItemMessage(IDC_Season,CB_GETCURSEL,0,0L);
if (i!=m_SeasonNo) {
SaveCurrSeasonSet();
m_SeasonNo = i;
}
m_UTimeSectNum = mxSet->U.limit[m_SeasonNo].SectNum;
if (m_UTimeSectNum >0) m_UTimeSectNum --;
else m_UTimeSectNum =0;
m_QTimeSectNum = mxSet->Q.limit[m_SeasonNo].SectNum;
if (m_QTimeSectNum >0) m_QTimeSectNum --;
else m_QTimeSectNum =0;
SendDlgItemMessage(IDC_UTimeSectNum, CB_SETCURSEL, m_UTimeSectNum, 0);
SendDlgItemMessage(IDC_QTimeSectNum, CB_SETCURSEL, m_QTimeSectNum, 0);
OnSelchangeUTimeSectNum();
OnSelchangeQTimeSectNum();
}
void dlglimit::OnSelchangeUTimeSectNum()
{
// TODO: Add your control notification handler code here
BYTE i;
char szText[30];
m_UTimeSectNum = (int)SendDlgItemMessage(IDC_UTimeSectNum,CB_GETCURSEL,0,0L);
if (m_UTimeSectNum == CB_ERR) return;
SendDlgItemMessage(IDC_UTimeSect, LB_RESETCONTENT, 0, 0l);
for (i=0;i<=m_UTimeSectNum;i++){
wsprintf(szText, "%02d:%02d", mxSet->U.limit[m_SeasonNo].EndHour[i],
mxSet->U.limit[m_SeasonNo].EndMinute[i]);
SendDlgItemMessage(IDC_UTimeSect, LB_ADDSTRING, 0,(LPARAM)(LPSTR)&szText[0]);
}
for (i=0;i<UQ_SECT_NUMBER;i++){
if (i>m_UTimeSectNum) {
strcpy(szText, "0");
SetDlgItemText(IDC_EDIT1+i, szText);
strcpy(szText, "0");
SetDlgItemText(IDC_EDIT17+i, szText);
GetDlgItem(IDC_EDIT1+i)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT17+i)->EnableWindow(FALSE);
strcpy(szText,"00:00-24:00");
GetDlgItem(IDC_STATIC_TIME1+i)->SetWindowText(szText);
GetDlgItem(IDC_STATIC_TIME1+i)->EnableWindow(FALSE);
}
else{
sprintf(szText, "%g",mxSet->U.limit[m_SeasonNo].DownLimit[i]);
SetDlgItemText(IDC_EDIT1+i, szText);
sprintf(szText, "%g",mxSet->U.limit[m_SeasonNo].UpLimit[i]);
SetDlgItemText(IDC_EDIT17+i, szText);
GetDlgItem(IDC_EDIT1+i)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT17+i)->EnableWindow(TRUE);
if (i==m_UTimeSectNum)
wsprintf(szText,"%02d:%02d-%02d:%02d",
mxSet->U.limit[m_SeasonNo].EndHour[i],
mxSet->U.limit[m_SeasonNo].EndMinute[i],
mxSet->U.limit[m_SeasonNo].EndHour[0],
mxSet->U.limit[m_SeasonNo].EndMinute[0]);
else wsprintf(szText,"%02d:%02d-%02d:%02d",
mxSet->U.limit[m_SeasonNo].EndHour[i],
mxSet->U.limit[m_SeasonNo].EndMinute[i],
mxSet->U.limit[m_SeasonNo].EndHour[i+1],
mxSet->U.limit[m_SeasonNo].EndMinute[i+1]);
GetDlgItem(IDC_STATIC_TIME1+i)->SetWindowText(szText);
GetDlgItem(IDC_STATIC_TIME1+i)->EnableWindow(TRUE);
}
}
}
void dlglimit::OnSelchangeQTimeSectNum()
{
// TODO: Add your control notification handler code here
BYTE i;
char szText[30];
m_QTimeSectNum = (int)SendDlgItemMessage(IDC_QTimeSectNum,CB_GETCURSEL,0,0L);
if (m_QTimeSectNum == CB_ERR) return;
SendDlgItemMessage(IDC_QTimeSect, LB_RESETCONTENT, 0, 0l);
for (i=0;i<=m_QTimeSectNum;i++){
wsprintf(szText, "%02d:%02d", mxSet->Q.limit[m_SeasonNo].EndHour[i],
mxSet->Q.limit[m_SeasonNo].EndMinute[i]);
SendDlgItemMessage(IDC_QTimeSect, LB_ADDSTRING, 0,(LPARAM)(LPSTR)&szText[0]);
}
for (i=0;i<UQ_SECT_NUMBER;i++){
if (i>m_QTimeSectNum) {
strcpy(szText, "0");
SetDlgItemText(IDC_EDIT39+i, szText);
strcpy(szText, "0");
SetDlgItemText(IDC_EDIT55+i, szText);
GetDlgItem(IDC_EDIT39+i)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT55+i)->EnableWindow(FALSE);
strcpy(szText,"00:00-24:00");
GetDlgItem(IDC_STATIC_TIME17+i)->SetWindowText(szText);
GetDlgItem(IDC_STATIC_TIME17+i)->EnableWindow(FALSE);
}
else{
sprintf(szText, "%g",mxSet->Q.limit[m_SeasonNo].DownLimit[i]);
SetDlgItemText(IDC_EDIT39+i, szText);
sprintf(szText, "%g",mxSet->Q.limit[m_SeasonNo].UpLimit[i]);
SetDlgItemText(IDC_EDIT55+i, szText);
GetDlgItem(IDC_EDIT39+i)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT55+i)->EnableWindow(TRUE);
if (i==m_QTimeSectNum)
wsprintf(szText,"%02d:%02d-%02d:%02d",
mxSet->Q.limit[m_SeasonNo].EndHour[i],
mxSet->Q.limit[m_SeasonNo].EndMinute[i],
mxSet->Q.limit[m_SeasonNo].EndHour[0],
mxSet->Q.limit[m_SeasonNo].EndMinute[0]);
else wsprintf(szText,"%02d:%02d-%02d:%02d",
mxSet->Q.limit[m_SeasonNo].EndHour[i],
mxSet->Q.limit[m_SeasonNo].EndMinute[i],
mxSet->Q.limit[m_SeasonNo].EndHour[i+1],
mxSet->Q.limit[m_SeasonNo].EndMinute[i+1]);
GetDlgItem(IDC_STATIC_TIME17+i)->SetWindowText(szText);
GetDlgItem(IDC_STATIC_TIME17+i)->EnableWindow(TRUE);
}
}
}
void dlglimit::OnDblclkUTimeSect()
{
// TODO: Add your control notification handler code here
int i,index;
char szText[30];
BYTE h,m;
dlgSetTime setTimeDef;
index = (int)SendDlgItemMessage(IDC_UTimeSect,LB_GETCURSEL,0,0L);
if (index==LB_ERR) return;
UpdateData(TRUE);
wsprintf(szText, "%02d:%02d", mxSet->U.limit[m_SeasonNo].EndHour[index],
mxSet->U.limit[m_SeasonNo].EndMinute[index]);
setTimeDef.m_EndTime = szText;
if (IDOK!=setTimeDef.DoModal()) return;
strcpy(szText, setTimeDef.m_EndTime);
szText[5]=0;
for (i=0;i<5;i++){
if (szText[i]==':') break;
}
if ((i==1)||(i==2)){
szText[i]=0;
h = (BYTE)atoi(szText);
m = (BYTE)atoi(&szText[i+1]);
}
else {
szText[2]=0;
h = (BYTE)atoi(szText);
m = 0;
}
if (h<0||h>24||m<0||m>59) {
MessageBox("不可识别的时间!", "警告", MB_OK);
return;
}
mxSet->U.limit[m_SeasonNo].EndHour[index] = h;
mxSet->U.limit[m_SeasonNo].EndMinute[index] = m;
OnSelchangeUTimeSectNum();
}
void dlglimit::OnDblclkQTimeSect()
{
// TODO: Add your control notification handler code here
int i,index;
char szText[30];
BYTE h,m;
dlgSetTime setTimeDef;
index = (int)SendDlgItemMessage(IDC_QTimeSect,LB_GETCURSEL,0,0L);
if (index==LB_ERR) return;
UpdateData(TRUE);
wsprintf(szText, "%02d:%02d", mxSet->Q.limit[m_SeasonNo].EndHour[index],
mxSet->Q.limit[m_SeasonNo].EndMinute[index]);
setTimeDef.m_EndTime = szText;
if (IDOK!=setTimeDef.DoModal()) return;
strcpy(szText, setTimeDef.m_EndTime);
szText[5]=0;
for (i=0;i<5;i++){
if (szText[i]==':') break;
}
if ((i==1)||(i==2)){
szText[i]=0;
h = (BYTE)atoi(szText);
m = (BYTE)atoi(&szText[i+1]);
}
else {
szText[2]=0;
h = (BYTE)atoi(szText);
m = 0;
}
if (h<0||h>24||m<0||m>59) {
MessageBox("不可识别的时间!", "警告", MB_OK);
return;
}
mxSet->Q.limit[m_SeasonNo].EndHour[index] = h;
mxSet->Q.limit[m_SeasonNo].EndMinute[index] = m;
OnSelchangeQTimeSectNum();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -