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

📄 curvehistorydlg.cpp

📁 远程视频监控系统最新程序代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
   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 + -