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

📄 fluxdevice.h

📁 上位机图形显示程序,可用于8051单片机的开发,通信及控制
💻 H
字号:
/////////////////////////////////////////////////////////
//			流量检测设备FluxDevice封装类
//	版本:1.03
//	最后修改日期:2002.1.25
/////////////////////////////////////////////////////////

#if !defined(AFX_FLUXDEVICE_H__A76883B2_88C6_4CCB_AA44_F5BB421C4686__INCLUDED_)
#define AFX_FLUXDEVICE_H__A76883B2_88C6_4CCB_AA44_F5BB421C4686__INCLUDED_

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

//下面的宏定义了仪表的当前状态
#define FD_TEST		0	//仪表的自检状态,流量自动变化
#define FD_WORK		1	//仪表的工作状态,等待流量的变化
#define FD_SHUTDOWN	2	//仪表的关闭状态,不作任何动作 


/////////////////////////////////////////////////////////////////////////////
// FluxDevice window

class FluxDevice : public CStatic
{
// Construction
public:
	FluxDevice(CWnd *parent);

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(FluxDevice)
	//}}AFX_VIRTUAL

// Implementation
public:
	void FD_SetSmallGridLength(UINT length);
	void FD_SetSmallGridNum(UINT number);
	void FD_SetLevelRatio(double high_ratio, double middle_ratio);
	void FD_SetGridOffset(int x_offset);
	void FD_SetGridColor(COLORREF color);
	void FD_SetTextOffset(int x, int y);
	void FD_SetTextColor(COLORREF color);
	void FD_SetBigGridLength(UINT length);
	void FD_SetBigGridNum(UINT number);
	void FD_SetLowLevelColor(COLORREF color);
	void FD_SetMiddleLevelColor(COLORREF color);
	void FD_SetHighLevelColor(COLORREF color);
	void FD_SetFrameBackColor(COLORREF color);
	void FD_SetFrameFrontColor(COLORREF color);
	void FD_SetFrameSize(UINT radius, UINT length);
	void FD_SetFontSize(UINT size);
	void FD_SetBkColor(COLORREF color);
	void FD_SetPipeSize(UINT radius, UINT length);
	void FD_SetOrigin(int x , int y);
	void FD_SetSize(UINT width, UINT height);
	void FD_SetMaxFlux(double flux);
	void FD_SetCurrentFlux(double flux);
	void FD_SetStatus(UINT status);
	void FD_MoveWindow(int x, int y);
	virtual ~FluxDevice();

	// Generated message map functions
protected:
	//{{AFX_MSG(FluxDevice)
	afx_msg void OnPaint();
	afx_msg void OnTimer(UINT nIDEvent);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
private:
	UINT FD_FontSize;		//仪表的刻度文字的字体大小
	COLORREF FD_TextColor;	//仪表的刻度文字颜色
	CFont FD_Font;			//仪表的刻度文字的字体
	CPoint FD_TextOffset;	//仪表的刻度文字相对于仪表的刻度线末端的偏移量
	
	int FD_GridXOffset;		//仪表的刻度相对于原点的X方向偏移量
	UINT FD_BigGridLength;	//仪表的大刻度线的长度
	UINT FD_BigGridNum;		//仪表的大刻度格子数目
	UINT FD_SmallGridLength;//仪表小刻度线的长度
	UINT FD_SmallGridNum;	//仪表小刻度的格子数目
	COLORREF FD_GridColor;	//仪表的刻度线颜色
	
	UINT FD_FrameRadius;		//仪表的框架半径
	COLORREF FD_FrameFrontColor;//仪表的框架外表面颜色
	COLORREF FD_FrameBackColor;	//仪表的框架内表面颜色
	UINT FD_FrameLength;		//仪表的框架长度
	
	double FD_MiddleLevelRatio;		//仪表的中、低流量的分界比例
	double FD_HighLevelRatio;		//仪表的高、中流量的分界比例
	COLORREF FD_LowLevelColor;		//流量管液体在低流量时的颜色
	COLORREF FD_MiddleLevelColor;	//流量管液体在中流量时的颜色
	COLORREF FD_HighLevelColor;		//流量管液体在高流量时的颜色
	
	UINT FD_PipeRadius;	//流量管的半径
	UINT FD_PipeLength;	//流量管的长度

	double FD_CurrentFlux;	//被检测流量的当前值
	double FD_MaxFlux;		//被检测流量的最大值

	int FD_TestDirection;	//仪表自检状态下的流量变化率
	UINT FD_Status;			//仪表的当前状态
	UINT FD_Height;			//仪表的高度
	UINT FD_Width;			//仪表的宽度
	COLORREF FD_BkColor;	//仪表的背景颜色
	CPoint FD_Origin;		//仪表的内部坐标系原点

	COLORREF GetNextColor(COLORREF current_color, int delta);
	COLORREF GetNextColor(COLORREF color, double ratio);
	void DrawFace(void);
};

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

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

#endif // !defined(AFX_FLUXDEVICE_H__A76883B2_88C6_4CCB_AA44_F5BB421C4686__INCLUDED_)

⌨️ 快捷键说明

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