📄 curvehistorydlg.cpp
字号:
m_nSpinUpper3.SetRange(-10,10);
m_nSpinUpper3.SetPos(0);
m_nSpinUpper4.SetRange(-10,10);
m_nSpinUpper4.SetPos(0);
}
void CCurveHistoryDlg::ResetCtrl(short nGroupNo)
{
if ((nGroupNo<0)||(nGroupNo>=MAX_CURVE_GROUP)) return;
CCurveDrawStruct *pCurveDrawStruct;
CString nStr;
CHistoryData nHistoryData;
short nOldGroupNo=nGroupNo;
if (m_nCurSystem==1) nGroupNo+=MAX_TURBINE_CURVE;
for (int i=0;i<MAX_CURVE_NUMPERGROUP;i++)
{
pCurveDrawStruct=m_pCurveDrawStruct+(nGroupNo)*MAX_CURVE_NUMPERGROUP+i;
m_nCurAnavalArray[i]->Empty();
if ((pCurveDrawStruct->nNo<0)||(pCurveDrawStruct->nNo>=MAX_HIST_POINT))
{
(m_nUpperArray[i])->Empty();
(m_nDownArray[i])->Empty();
m_nNameArray[i]->Empty();
CWnd *pWnd=GetDlgItem(m_nStaticID[i]);
pWnd->SetWindowText("");
}
else
{
nHistoryData.GetName(pCurveDrawStruct->nNo,&nStr);
m_nNameArray[i]->Format("%s",nStr);
nStr.Empty();
m_nUpperArray[i]->Format("%7.2f",pCurveDrawStruct->nUpper);
m_nDownArray[i]->Format("%7.2f",pCurveDrawStruct->nDown);
//*****Get Unit*******
nHistoryData.GetProjSignalUnit(pCurveDrawStruct->nNo,&nStr);
//Get Unit*********
CWnd *pWnd=GetDlgItem(m_nStaticID[i]);
pWnd->SetWindowText(nStr);
nStr.Empty();
}
}
CWnd *pWnd;
CTime nTime;
m_nBeginTime=m_nCurveHistFlow.GetStartTime();
m_nEndTime=m_nCurveHistFlow.GetEndTime();
nTime=m_nBeginTime;
nStr.Format("从%2d/%-2d:%-2d:%-2d ",nTime.GetMonth(),nTime.GetDay(),nTime.GetHour(),nTime.GetMinute());
GetDlgItem(IDC_BUTTON_BEGINDATE)->SetWindowText(nStr);
UpdateData(FALSE);
Invalidate(FALSE);
}
void CCurveHistoryDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CCurveDrawStruct *pCurveDrawStruct;
for(int i=0;i<MAX_CURVE_NUMPERGROUP;i++)
{
pCurveDrawStruct=m_pCurveDrawStruct+m_nCurGroupNo*MAX_CURVE_NUMPERGROUP+i;
if ((pCurveDrawStruct->nNo<0)||(pCurveDrawStruct->nNo>MAX_HIST_POINT))
{
CWnd *pWnd=GetDlgItem(m_nButtonID[i]);
pWnd->Invalidate(TRUE);
pWnd->UpdateWindow();
}
else
{
CWnd *pWnd=GetDlgItem(m_nButtonID[i]);
CDC* pControlDC=pWnd->GetDC();
pWnd->Invalidate();
pWnd->UpdateWindow();
CRect nRect;
pWnd->GetClientRect(&nRect);
CPen nPen(PS_SOLID,pCurveDrawStruct->nWidth,pCurveDrawStruct->nColor);
CPen *nOldPen =pControlDC->SelectObject(&nPen);
pControlDC->MoveTo(2,nRect.bottom/2);
pControlDC->LineTo(nRect.right-2,nRect.bottom/2);
pControlDC->SelectObject(nOldPen);
pWnd->ReleaseDC(pControlDC);
}
}
// Do not call CDialog::OnPaint() for painting messages
}
void CCurveHistoryDlg::OnSelchangeList2()
{
// TODO: Add your control notification handler code here
AfxGetApp()->BeginWaitCursor();
ReDraw();
AfxGetApp()->EndWaitCursor();
}
void CCurveHistoryDlg::OnButtonBegindate()
{
// TODO: Add your control notification handler code here
CDateInputDlg nDateInputDlg;
nDateInputDlg.SetInitTime(m_nBeginTime);
if (nDateInputDlg.DoModal()==IDOK)
{
CTime nTime;
if (m_nBeginTime!=nDateInputDlg.GetCurTime())
{
m_nBeginTime=nDateInputDlg.GetCurTime();
GetDlgItem(IDC_BUTTON_APPLYHIST)->EnableWindow(TRUE);
CString nStr;
nTime=m_nBeginTime;
m_nBeginTime-=nTime.GetSecond();
nStr.Format("从%2d/%-2d:%-2d:%-2d ",nTime.GetMonth(),nTime.GetDay(),nTime.GetHour(),nTime.GetMinute());
GetDlgItem(IDC_BUTTON_BEGINDATE)->SetWindowText(nStr);
nStr.Empty();
}
}
}
void CCurveHistoryDlg::ReDraw()
{
short nIndex;
nIndex=m_nList.GetCurSel();
if ((nIndex<0)||(nIndex>=MAX_CURVE_GROUP)) return;
ResetCurveFlow(nIndex);
ResetCtrl(nIndex);
OnCurveFlowSplitXChange(0,0);
}
void CCurveHistoryDlg::OnDestroy()
{
CDialog::OnDestroy();
// TODO: Add your message handler code here
// TODO: Add your message handler code here
CCurveDrawStruct *pCurveDrawStruct;
for(int i=0;i<MAX_CURVE_GROUP;i++)
for(int j=0;j<MAX_CURVE_NUMPERGROUP;j++)
{
pCurveDrawStruct=m_pCurveDrawStruct+i*MAX_CURVE_NUMPERGROUP+j;
if ((pCurveDrawStruct->nNo>=0)&&(pCurveDrawStruct->nNo<MAX_HIST_POINT))
{
pCurveDrawStruct->nDown=m_nCurDown[i][j];
pCurveDrawStruct->nUpper=m_nCurUpper[i][j];
}
}
for(i=0;i<MAX_CURVE_NUMPERGROUP;i++)
{
if (m_pCurveAnaval[i]!=NULL) delete[] m_pCurveAnaval[i];
if (m_pCurveTime[i]!=NULL) delete[] m_pCurveTime[i];
}
}
void CCurveHistoryDlg::OnDeltaposSPINDown1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
CCurveDrawStruct *pCurveDrawStruct;
pCurveDrawStruct=m_pCurveDrawStruct+(m_nCurGroupNo)*MAX_CURVE_NUMPERGROUP+0;
if ((pCurveDrawStruct->nNo<0)||(pCurveDrawStruct->nNo>=MAX_HIST_POINT))
{
(m_nDownArray[0])->Empty();
}
else
{
UpdateData(TRUE);
short nCurPos=pNMUpDown->iPos;//m_nSpinDown1.GetPos();
(m_nDownArray[0])->Format("%7.2f",(m_nCurDown[m_nCurGroupNo][0]+(nCurPos)/10.0*m_nCurUpper[m_nCurGroupNo][0]));
}
GetDlgItem(IDC_BUTTON_APPLYHIST)->EnableWindow(TRUE);
UpdateData(FALSE);
*pResult = 0;
}
void CCurveHistoryDlg::OnDeltaposSPINDown2(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
CCurveDrawStruct *pCurveDrawStruct;
pCurveDrawStruct=m_pCurveDrawStruct+(m_nCurGroupNo)*MAX_CURVE_NUMPERGROUP+1;
if ((pCurveDrawStruct->nNo<0)||(pCurveDrawStruct->nNo>=MAX_HIST_POINT))
{
(m_nDownArray[1])->Empty();
}
else
{
short nCurPos=pNMUpDown->iPos;
(m_nDownArray[1])->Format("%7.2f",(m_nCurDown[m_nCurGroupNo][1]+nCurPos/10.0*m_nCurUpper[m_nCurGroupNo][1]));
}
GetDlgItem(IDC_BUTTON_APPLYHIST)->EnableWindow(TRUE);
UpdateData(FALSE);
*pResult = 0;
}
void CCurveHistoryDlg::OnDeltaposSPINDown3(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
CCurveDrawStruct *pCurveDrawStruct;
pCurveDrawStruct=m_pCurveDrawStruct+(m_nCurGroupNo)*MAX_CURVE_NUMPERGROUP+2;
if ((pCurveDrawStruct->nNo<0)||(pCurveDrawStruct->nNo>=MAX_HIST_POINT))
{
(m_nDownArray[2])->Empty();
}
else
{
short nCurPos=pNMUpDown->iPos;
(m_nDownArray[2])->Format("%7.2f",(m_nCurDown[m_nCurGroupNo][2]+nCurPos/10.0*m_nCurUpper[m_nCurGroupNo][2]));
}
GetDlgItem(IDC_BUTTON_APPLYHIST)->EnableWindow(TRUE);
UpdateData(FALSE);
*pResult = 0;
}
void CCurveHistoryDlg::OnDeltaposSPINDown4(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
CCurveDrawStruct *pCurveDrawStruct;
pCurveDrawStruct=m_pCurveDrawStruct+(m_nCurGroupNo)*MAX_CURVE_NUMPERGROUP+3;
if ((pCurveDrawStruct->nNo<0)||(pCurveDrawStruct->nNo>=MAX_HIST_POINT))
{
(m_nDownArray[3])->Empty();
}
else
{
short nCurPos=pNMUpDown->iPos;
(m_nDownArray[3])->Format("%7.2f",(m_nCurDown[m_nCurGroupNo][3]+nCurPos/10.0*m_nCurUpper[m_nCurGroupNo][3]));
}
GetDlgItem(IDC_BUTTON_APPLYHIST)->EnableWindow(TRUE);
UpdateData(FALSE);
*pResult = 0;
}
void CCurveHistoryDlg::OnDeltaposSPINUpper1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
CCurveDrawStruct *pCurveDrawStruct;
pCurveDrawStruct=m_pCurveDrawStruct+(m_nCurGroupNo)*MAX_CURVE_NUMPERGROUP+0;
if ((pCurveDrawStruct->nNo<0)||(pCurveDrawStruct->nNo>=MAX_HIST_POINT))
{
(m_nUpperArray[0])->Empty();
}
else
{
short nCurPos=pNMUpDown->iPos;
(m_nUpperArray[0])->Format("%7.2f",(m_nCurUpper[m_nCurGroupNo][0]+nCurPos/10.0*m_nCurUpper[m_nCurGroupNo][0]));
}
GetDlgItem(IDC_BUTTON_APPLYHIST)->EnableWindow(TRUE);
UpdateData(FALSE);
*pResult = 0;
}
void CCurveHistoryDlg::OnDeltaposSPINUpper2(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
CCurveDrawStruct *pCurveDrawStruct;
pCurveDrawStruct=m_pCurveDrawStruct+(m_nCurGroupNo)*MAX_CURVE_NUMPERGROUP+1;
if ((pCurveDrawStruct->nNo<0)||(pCurveDrawStruct->nNo>=MAX_HIST_POINT))
{
(m_nUpperArray[1])->Empty();
}
else
{
short nCurPos=pNMUpDown->iPos;
(m_nUpperArray[1])->Format("%7.2f",(m_nCurUpper[m_nCurGroupNo][1]+nCurPos/10.0*m_nCurUpper[m_nCurGroupNo][1]));
}
GetDlgItem(IDC_BUTTON_APPLYHIST)->EnableWindow(TRUE);
UpdateData(FALSE);
*pResult = 0;
}
void CCurveHistoryDlg::OnDeltaposSPINUpper3(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
CCurveDrawStruct *pCurveDrawStruct;
pCurveDrawStruct=m_pCurveDrawStruct+(m_nCurGroupNo)*MAX_CURVE_NUMPERGROUP+2;
if ((pCurveDrawStruct->nNo<0)||(pCurveDrawStruct->nNo>=MAX_HIST_POINT))
{
(m_nUpperArray[2])->Empty();
}
else
{
short nCurPos=pNMUpDown->iPos;
(m_nUpperArray[2])->Format("%7.2f",(m_nCurUpper[m_nCurGroupNo][2]+nCurPos/10.0*m_nCurUpper[m_nCurGroupNo][2]));
}
GetDlgItem(IDC_BUTTON_APPLYHIST)->EnableWindow(TRUE);
UpdateData(FALSE);
*pResult = 0;
}
void CCurveHistoryDlg::OnDeltaposSPINUpper4(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
CCurveDrawStruct *pCurveDrawStruct;
pCurveDrawStruct=m_pCurveDrawStruct+(m_nCurGroupNo)*MAX_CURVE_NUMPERGROUP+3;
if ((pCurveDrawStruct->nNo<0)||(pCurveDrawStruct->nNo>=MAX_HIST_POINT))
{
(m_nUpperArray[3])->Empty();
}
else
{
short nCurPos=pNMUpDown->iPos;
(m_nUpperArray[3])->Format("%7.2f",(m_nCurUpper[m_nCurGroupNo][3]+nCurPos/10.0*m_nCurUpper[m_nCurGroupNo][3]));
}
GetDlgItem(IDC_BUTTON_APPLYHIST)->EnableWindow(TRUE);
UpdateData(FALSE);
*pResult = 0;
}
void CCurveHistoryDlg::OnDeltaposSpintimelen(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
GetDlgItem(IDC_BUTTON_APPLYHIST)->EnableWindow(TRUE);
*pResult = 0;
}
void CCurveHistoryDlg::OnDeltaposSpintimelen2(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
GetDlgItem(IDC_BUTTON_APPLYHIST)->EnableWindow(TRUE);
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -