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

📄 curvedynamicflow.h

📁 远程视频监控系统最新程序代码
💻 H
字号:
#if !defined(AFX_CURVEDYNAMICFLOW_H__AF625369_FD98_11D4_A0AC_EC0CA046FE36__INCLUDED_)
#define AFX_CURVEDYNAMICFLOW_H__AF625369_FD98_11D4_A0AC_EC0CA046FE36__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// CurveDynamicFlow.h : header file
//


#include <afxtempl.h>

/////////////////////////////////////////////////////////////////////////////
// CCurveDynamicFlow window
class CLineChartItem:public CObject
{
public:
	CLineChartItem(){;}
	~CLineChartItem(){;}
	COLORREF m_nPenColor;
	float    m_nLower;            // lower limit
	float    m_nUpper;            // upper limit
	float    m_nPos;              // current data value
	float    m_nOldPos;           // last time data value
	long     m_nPosTime;          // current point time
	long     m_nOldPosTime;       // last time point time
	short    m_nPointState;       //0:normal     1:breakpoint     2:firstpoint;
	short    m_nPenStyle;  
	short    m_nPenWidth;  
	// below proterty for print 
	float*   m_pCurvePos;
	long*    m_pTime;
	short    m_nHistCount;
	char*    m_pName;
};

typedef CTypedPtrArray < CObArray,CLineChartItem* > CItemArray;

#define SPLITLINEXCHANGE_MESSAGE  WM_USER+20
class CCurveDynamicFlow : public CWnd
{
// Construction
public:
	CCurveDynamicFlow();
	


// Attributes
public:
	CItemArray m_nItems;
	CDC m_MemDC;
	CBitmap m_Bitmap,*m_preBitmap;
	COLORREF m_nBkColor,m_nFrameColor;  //back Color and Frame Color
	short m_nPigment,m_nTimer;          // Curve moving pigment value and Timer time 
	short m_xPrimLineSum,m_yPrimLineSum;  // Primary compart line Sum x,y coordinate,
    short m_xSecLineSum,m_ySecLineSum;   // Second compart line Sum x,y coordinate,
	short m_PrimPenWidth,m_PrimPenStyle; //  Primary compart line Pen Width,Style,
	short m_SecPenWidth,m_SecPenStyle;   //  Second compart line Pen Width,Style,
	COLORREF m_SecPenColor,m_PrimPenColor;  //Primary Second compart line Pen Color
	short m_xIdentifySum,m_xIdentifySpace,m_xIdentifyWidth,m_xIdentifyCy; // x coordinate time identify amount ,Text Sapce,Text Width,and y coordinate
	COLORREF m_xIdentifyColor;  // x coordinate time identify color
    CTime m_nInitTime;  //x coordinate first time
	time_t m_nPerTime;
	short m_xIdentifyMoved,m_nCurveMoved,m_nSecLineMoved;     //x coordinate space haved move value and curve haved move value all var for display time identify
	CString m_nTimeStr;                       // time coordinate 
	float m_nSecPrecision;	
	long m_nStartTime,m_nEndTime,m_nCurrentSplitTime;  //Curve start,end time,Current line move point time;
	short m_nSplitPenWidth,m_nSplitPenStyle,m_nLineX;//split line pen's width style,and current x coordinate
	COLORREF m_nSplitPenColor;
	 short nCheck;
	 short nBCount;
	 short m_nTimeCoordFontSize;
	 char  m_nTimeCoordFontName[32];
	short m_nHeight;
	short m_nWidth;
	short m_nFrameTopH;
	short m_nFrameLeftW;
	short m_nFrameRightW;
	short m_nFrameBottomH;
    BOOL  m_nPtInSplitLine;
	CWnd  *m_pParentWnd;

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CCurveDynamicFlow)
	public:
	virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
	virtual BOOL OnAmbientProperty(COleControlSite* pSite, DISPID dispid, VARIANT* pvar);
	//}}AFX_VIRTUAL

// Implementation
public:	
	void ResetScrollBars();
    int  GetScrollPos32(int nBar, BOOL bGetTrackPos /* = FALSE */);
    BOOL SetScrollPos32(int nBar, int nPos, BOOL bRedraw /* = TRUE */);
	void SetHistoryPos(short nIndex,float *pAnavalArray,long *pTimeArray,short nCount);
	void DrawHistoryData();
	void SetBkFrameColor(long BkColor, long FrameColor); 
	void CCurveDynamicFlow::SetPrimCompart(short xSum, short ySum, short PenWidth, short PenStyle, long PenColor);
	void SetSecCompart(short xSum, short ySum, short PenWidth, short PenStyle, long PenColor);
	void SetXId(short xCount, long nColor,short nFontSize,char *nFontName); 
	void SetTimePigment(short nTime, short nPigment) ;
	short GetIntervalTime() {return m_nTimer;};
	void SetSplitLine(short nPenStyle, short nPenWidth, long nPenColor);
	void InitCtrl(short nHeight,short nWidth,short nFrameTopH,short nFrameLeftW,short nFrameRightW,short nFrameBottomH);
    void InvalidateCtrl(long nCurrentTime); 
	void DrawSpike();
	void Go(); 
	void AddLine(long nPenColor, short nPenStyle, short nPenWidth, float nLower, float nUpper);
	void DeleteAllLine();
    void SetPos(short nIndex, float nPos, short nState, long nTime);
 
    void  SetNLineX(short nNewValue);
	short GetNLineX(){return m_nLineX;};
    long  GetCurSplitTime(){return m_nCurrentSplitTime;}; 

	short GetSplitLineTop(){return m_nFrameTopH;};
	short GetSplitLineBottom(){return m_nFrameTopH+m_nHeight;}; 
     
    void  PreparePrint(short nIndex, short nCount, long  *pTime, float *pPos, char* pName);
    void  Printer(long nStartTime, long nEndTime, long nCurTime, float * pCurPos); 
    void  EndPrint();

    long  GetStartTime(){return m_nStartTime;};
    long  GetEndTime() {return m_nEndTime;}; 
    BOOL  ptInLine(CPoint point, CPoint nPointHead, CPoint nPointTail);

	virtual ~CCurveDynamicFlow();

	// Generated message map functions
protected:
	 virtual void  OnDraw(CDC* pDC);
	//{{AFX_MSG(CCurveDynamicFlow)
	afx_msg void OnPaint();
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_CURVEDYNAMICFLOW_H__AF625369_FD98_11D4_A0AC_EC0CA046FE36__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -