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

📄 curvedynamicdialog.cpp

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