📄 curvedynamicdialog.cpp
字号:
(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();
}
}
UpdateData(FALSE);
Invalidate(FALSE);
nGroupNo=nOldGroupNo;
}
void CCurveDynamicDialog::OnSelchangeList1()
{
// TODO: Add your control notification handler code here
short nIndex;
nIndex=m_nList.GetCurSel();
if ((nIndex<0)||(nIndex>=MAX_CURVE_GROUP)) return;
ResetCtrl(nIndex);
ResetCurveFlow(nIndex);
}
void CCurveDynamicDialog::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 CCurveDynamicDialog::OnButtonapply()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
double nTemp;
BOOL bChange=FALSE;
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)) continue;
float nTemp;
m_nDownArray[i]->TrimLeft();
m_nDownArray[i]->TrimRight();
nTemp=(float)atof((LPSTR)(LPCTSTR)*m_nDownArray[i]);
if (fabs(nTemp-pCurveDrawStruct->nDown)>1e-2)
{
bChange=TRUE;
pCurveDrawStruct->nDown=nTemp;
break;
}
m_nUpperArray[i]->TrimLeft();
m_nUpperArray[i]->TrimRight();
nTemp=(float)atof((LPSTR)(LPCTSTR)*m_nUpperArray[i]);
if (fabs(nTemp-pCurveDrawStruct->nUpper)>1e-2)
{
bChange=TRUE;
pCurveDrawStruct->nUpper=nTemp;
break;
}
};
if (bChange) ResetCurveFlow(m_nCurGroupNo);
}
LRESULT CCurveDynamicDialog::OnCurveFlowSplitXChange(WPARAM wParam,LPARAM lParam)
{
CCurveDrawStruct *pCurveDrawStruct;
time_t nCurTime;
nCurTime=m_nCurveDynamicFlow.GetCurSplitTime();
CHistoryData pHistData;
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)) continue;
float nCurAnaval;
if (pHistData.GetDataOrderTime(pCurveDrawStruct->nNo,nCurTime,&nCurAnaval)==RESULT_NORMAL)
{
if (pCurveDrawStruct->nUpper>100)
{
m_nCurAnavalArray[i]->Format("%7.2f",nCurAnaval);
}
else
{
m_nCurAnavalArray[i]->Format("%7.3f",nCurAnaval);
}
}
else
{
m_nCurAnavalArray[i]->Empty();
}
}
CTime nTime;
nTime=nCurTime;
CString nStr;
nStr.Format("%2d:%2d:%2d",nTime.GetHour(),nTime.GetMinute(),nTime.GetSecond());
m_nEditCurTime=nStr;
UpdateData(FALSE);
return 0;
}
void CCurveDynamicDialog::OnButtonPrint()
{
// TODO: Add your control notification handler code here
/*
time_t nStartTime,nEndTime,nCurTime;
float nCurAnaval[MAX_CURVE_NUMPERGROUP];
float nAnavalArray[MAX_CURVE_NUMPERGROUP][MAX_HIST_COUNT];
long nTimeArray[MAX_CURVE_NUMPERGROUP][MAX_HIST_COUNT];
CCurveDrawStruct *pCurveDrawStruct;
CCode_Name_Tab *pCodeNameTab;
CXydasApp *pXydasApp;
pXydasApp=(CXydasApp*)AfxGetApp();
pXydasApp->BeginWaitCursor();
CHistoryData *pHistoryData;
pHistoryData=&pXydasApp->m_nHistoryData;
short nIndex=0;
nStartTime=m_nCurveDynamicFlow.GetStartTime();
nEndTime =m_nCurveDynamicFlow.GetEndTime();
nCurTime =m_nCurveDynamicFlow.GetCurSplitTime();
m_nTimerCritSect.Lock();
{
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)) continue;
pCodeNameTab=m_pCodeNameTab+pCurveDrawStruct->nNo;
short nCount=0;
pHistoryData->GetMemoryHistAnaval(pCurveDrawStruct->nNo,nAnavalArray[i],nTimeArray[i],&nCount);
pHistoryData->GetDataOrderTime(pCurveDrawStruct->nNo,nCurTime,&nCurAnaval[nIndex]);
m_nCurveDynamicFlow.PreparePrint(nIndex,nCount,nTimeArray[i],nAnavalArray[i],pCodeNameTab->nName);
nIndex++;
}
}
m_nTimerCritSect.Unlock();
m_nCurveDynamicFlow.Printer(nStartTime,nEndTime,nCurTime,nCurAnaval);
m_nCurveDynamicFlow.EndPrint();
pXydasApp->EndWaitCursor();
*/
}
BOOL CCurveDynamicDialog::Create(CWnd *pWnd)
{
m_pParentWnd=pWnd;
return CDialog::Create(CCurveDynamicDialog::IDD);
}
void CCurveDynamicDialog::OnOK()
{
// TODO: Add extra validation here
/*
if (m_pParentWnd->GetSafeHwnd()!=NULL)
{
m_pParentWnd->PostMessage(DESTROY_DIALOG_MESSAGE,0,0);
}
else
{
CDialog::OnOK();
}
*/
CDialog::OnOK();
}
void CCurveDynamicDialog::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]));
}
UpdateData(FALSE);
*pResult = 0;
}
void CCurveDynamicDialog::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]));
}
UpdateData(FALSE);
*pResult = 0;
}
void CCurveDynamicDialog::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]));
}
UpdateData(FALSE);
*pResult = 0;
}
void CCurveDynamicDialog::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]));
}
UpdateData(FALSE);
*pResult = 0;
}
void CCurveDynamicDialog::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]));
}
UpdateData(FALSE);
*pResult = 0;
}
void CCurveDynamicDialog::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]));
}
UpdateData(FALSE);
*pResult = 0;
}
void CCurveDynamicDialog::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]));
}
UpdateData(FALSE);
*pResult = 0;
}
void CCurveDynamicDialog::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]));
}
UpdateData(FALSE);
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -