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_)