www.pudn.com > wendu.rar > Test.h
#if !defined(AFX_TEST_H__D9C42A41_87AB_477E_B7FD_2610B6864F9A__INCLUDED_)
#define AFX_TEST_H__D9C42A41_87AB_477E_B7FD_2610B6864F9A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Test.h : header file
//
//产生随机数
#define GetRandom( min, max ) ((rand() % (int)(((max)+1) - (min))) + (min))
/////////////////////////////////////////////////////////////////////////////
// CTest window
class CTest : public CStatic
{
// Construction
public:
CTest();
// Attributes
private:
void DrawBackground(CDC *pDC); //画控件区域背景
void DrawFrame(CDC *pDC); //画温度计框架
CFont m_SmallFont; //字体
COLORREF clrBar; //填充区域颜色
COLORREF clrText; //文字颜色
CRect temprect; //控件区域
double ValueBound; //温度变化范围
int Subscale; //子刻度数
int Scale; //刻度数
double CurveLength; //刻度线长度
double CurveEndPoint_Y; //刻度线终点坐标Y
double CurveEndPoint_X; //刻度线终点坐标X
double CurveStartPoint_Y; //刻度线起点坐标Y
double CurveStartPoint_X; //刻度线起点坐标X
double R; //温度计尾部半径
double RadiusCenterPoint_Y; //温度计尾部圆心坐标Y
double RadiusCenterPoint_X; //温度计尾部圆心坐标X
double RadiusEndPoint_Y; //圆弧终点坐标Y
double RadiusEndPoint_X; //圆弧终点坐标X
double RadiusStartPoint_Y; //圆弧起点坐标Y
double RadiusStartPoint_X; //圆弧起点坐标Y
double Point2_Y; //温度计外形右上角坐标Y
double Point2_X; //温度计外形右上角坐标X
double Point1_Y; //温度计外形左上角坐标Y
double Point1_X; //温度计外形左上角坐标X
double FillHeight; //填充区域的高度
double TempValue; //当前温度值
CBitmap *m_pBitmapOldBackground ;//原背景图案
CBitmap m_pBitmapBackground ; //背景图案
CDC m_dcBackground; //背景
private:
void ShowValue(CDC *pDC);
void ShowTitle(CDC *pDC);
void FillFrame(CDC *pDC); //填充温度计内部
double CurveMin; //最小刻度值
double CurveMax; //最大刻度值
// 关键代码
CRITICAL_SECTION g_csData; //该代码在该处定义后,在类成员初始化处
//用InitializeCriticalSection(&g_csData)
//初始化关键代码的 C_S 结构
//若要用于一个函数中,
//则将EnterCriticalSection(&g_csData)
//和LeaveCriticalSection(&g_csData)
//组合使用,分别放在函数定义的开始处和结尾处
//以防止在调用函数时被其它消息打断,造成错误
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CTest)
//}}AFX_VIRTUAL
// Implementation
public:
CPoint Point1;
void GetData(double TValue); //获取外部温度数据
virtual ~CTest();
// Generated message map functions
protected:
//{{AFX_MSG(CTest)
afx_msg void OnPaint();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_TEST_H__D9C42A41_87AB_477E_B7FD_2610B6864F9A__INCLUDED_)