322 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C
		
	
	
	
		
		
			
		
	
	
			322 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C
		
	
	
	
| 
								 | 
							
								/******************************************************
							 | 
						|||
| 
								 | 
							
								 * EasyX Library for C++ (Ver:20170827(beta))
							 | 
						|||
| 
								 | 
							
								 * http://www.easyx.cn
							 | 
						|||
| 
								 | 
							
								 *
							 | 
						|||
| 
								 | 
							
								 * EasyX.h
							 | 
						|||
| 
								 | 
							
								 *	<EFBFBD><EFBFBD> VC <EFBFBD><EFBFBD>ʵ<EFBFBD>ּĻ<EFBFBD>ͼ
							 | 
						|||
| 
								 | 
							
								 ******************************************************/
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#pragma once
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#ifndef WINVER
							 | 
						|||
| 
								 | 
							
								#define WINVER 0x0400			// Specifies that the minimum required platform is Windows 95 and Windows NT 4.0.
							 | 
						|||
| 
								 | 
							
								#endif
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#ifndef _WIN32_WINNT
							 | 
						|||
| 
								 | 
							
								#define _WIN32_WINNT 0x0500		// Specifies that the minimum required platform is Windows 2000.
							 | 
						|||
| 
								 | 
							
								#endif
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#ifndef _WIN32_WINDOWS
							 | 
						|||
| 
								 | 
							
								#define _WIN32_WINDOWS 0x0410	// Specifies that the minimum required platform is Windows 98.
							 | 
						|||
| 
								 | 
							
								#endif
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#ifndef __cplusplus
							 | 
						|||
| 
								 | 
							
								#error EasyX is only for C++
							 | 
						|||
| 
								 | 
							
								#endif
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#include <windows.h>
							 | 
						|||
| 
								 | 
							
								#include <tchar.h>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><>ͼ<EFBFBD><CDBC><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								#define SHOWCONSOLE		1		// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ʾ
							 | 
						|||
| 
								 | 
							
								#define NOCLOSE			2		// û<>йرչ<D8B1><D5B9><EFBFBD>
							 | 
						|||
| 
								 | 
							
								#define NOMINIMIZE		4		// û<><C3BB><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><>ɫ
							 | 
						|||
| 
								 | 
							
								#define	BLACK			0
							 | 
						|||
| 
								 | 
							
								#define	BLUE			0xAA0000
							 | 
						|||
| 
								 | 
							
								#define	GREEN			0x00AA00
							 | 
						|||
| 
								 | 
							
								#define	CYAN			0xAAAA00
							 | 
						|||
| 
								 | 
							
								#define	RED				0x0000AA
							 | 
						|||
| 
								 | 
							
								#define	MAGENTA			0xAA00AA
							 | 
						|||
| 
								 | 
							
								#define	BROWN			0x0055AA
							 | 
						|||
| 
								 | 
							
								#define	LIGHTGRAY		0xAAAAAA
							 | 
						|||
| 
								 | 
							
								#define	DARKGRAY		0x555555
							 | 
						|||
| 
								 | 
							
								#define	LIGHTBLUE		0xFF5555
							 | 
						|||
| 
								 | 
							
								#define	LIGHTGREEN		0x55FF55
							 | 
						|||
| 
								 | 
							
								#define	LIGHTCYAN		0xFFFF55
							 | 
						|||
| 
								 | 
							
								#define	LIGHTRED		0x5555FF
							 | 
						|||
| 
								 | 
							
								#define	LIGHTMAGENTA	0xFF55FF
							 | 
						|||
| 
								 | 
							
								#define	YELLOW			0x55FFFF
							 | 
						|||
| 
								 | 
							
								#define	WHITE			0xFFFFFF
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫת<C9AB><D7AA><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								#define BGR(color)	( (((color) & 0xFF) << 16) | ((color) & 0xFF00FF00) | (((color) & 0xFF0000) >> 16) )
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								class IMAGE;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
								class LINESTYLE
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								public:
							 | 
						|||
| 
								 | 
							
									LINESTYLE();
							 | 
						|||
| 
								 | 
							
									LINESTYLE(const LINESTYLE &style);
							 | 
						|||
| 
								 | 
							
									LINESTYLE& operator = (const LINESTYLE &style);			// <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
							 | 
						|||
| 
								 | 
							
									virtual ~LINESTYLE();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									DWORD	style;
							 | 
						|||
| 
								 | 
							
									DWORD	thickness;
							 | 
						|||
| 
								 | 
							
									DWORD	*puserstyle;
							 | 
						|||
| 
								 | 
							
									DWORD	userstylecount;
							 | 
						|||
| 
								 | 
							
								};
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								class FILLSTYLE
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								public:
							 | 
						|||
| 
								 | 
							
									FILLSTYLE();
							 | 
						|||
| 
								 | 
							
									FILLSTYLE(const FILLSTYLE &style);
							 | 
						|||
| 
								 | 
							
									FILLSTYLE& operator = (const FILLSTYLE &style);			// <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
							 | 
						|||
| 
								 | 
							
									virtual ~FILLSTYLE();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									int			style;			// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
									long		hatch;			// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
									IMAGE*		ppattern;		// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
							 | 
						|||
| 
								 | 
							
								};
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								class IMAGE
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								public:
							 | 
						|||
| 
								 | 
							
									int getwidth() const;	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
							 | 
						|||
| 
								 | 
							
									int getheight() const;	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								private:
							 | 
						|||
| 
								 | 
							
									int width, height;		// <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
							 | 
						|||
| 
								 | 
							
									HBITMAP m_hBmp;
							 | 
						|||
| 
								 | 
							
									HDC m_hMemDC;
							 | 
						|||
| 
								 | 
							
									int m_MemCurX;			// <20><>ǰ<EFBFBD><C7B0>X<EFBFBD><58><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
									int m_MemCurY;			// <20><>ǰ<EFBFBD><C7B0>Y<EFBFBD><59><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
									float m_data[6];
							 | 
						|||
| 
								 | 
							
									COLORREF	m_LineColor;		// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
							 | 
						|||
| 
								 | 
							
									COLORREF	m_FillColor;		// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
							 | 
						|||
| 
								 | 
							
									COLORREF	m_TextColor;		// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
							 | 
						|||
| 
								 | 
							
									COLORREF	m_BkColor;			// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
							 | 
						|||
| 
								 | 
							
									DWORD*		m_pBuffer;			// <20><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									LINESTYLE	m_LineStyle;		// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
									FILLSTYLE	m_FillStyle;		// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									virtual void SetDefault();						// <20><><EFBFBD><EFBFBD>ΪĬ<CEAA><C4AC>״̬
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								public:
							 | 
						|||
| 
								 | 
							
									IMAGE(int _width = 0, int _height = 0);			// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
							 | 
						|||
| 
								 | 
							
									IMAGE(const IMAGE &img);						// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>캯<EFBFBD><ECBAAF>
							 | 
						|||
| 
								 | 
							
									IMAGE& operator = (const IMAGE &img);			// <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
							 | 
						|||
| 
								 | 
							
									virtual ~IMAGE();
							 | 
						|||
| 
								 | 
							
									virtual void Resize(int _width, int _height);	// <20><><EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								};
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><>ͼģʽ<C4A3><CABD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								HWND initgraph(int width, int height, int flag = NULL);	// <20><>ʼ<EFBFBD><CABC>ͼ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void closegraph();										// <20>ر<EFBFBD>ͼ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void cleardevice();					// <20><><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void setcliprgn(HRGN hrgn);			// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0>ͼ<EFBFBD>豸<EFBFBD>IJü<C4B2><C3BC><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void clearcliprgn();				// <20><><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void getlinestyle(LINESTYLE* pstyle);						// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
								void setlinestyle(const LINESTYLE* pstyle);					// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
								void setlinestyle(int style, int thickness = 1, const DWORD *puserstyle = NULL, DWORD userstylecount = 0);	// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
								void getfillstyle(FILLSTYLE* pstyle);						// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
								void setfillstyle(const FILLSTYLE* pstyle);					// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
								void setfillstyle(int style, long hatch = NULL, IMAGE* ppattern = NULL);		// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
								void setfillstyle(BYTE* ppattern8x8);						// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void setorigin(int x, int y);							// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>
							 | 
						|||
| 
								 | 
							
								void getaspectratio(float *pxasp, float *pyasp);		// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void setaspectratio(float xasp, float yasp);			// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								int  getrop2();						// <20><>ȡǰ<C8A1><C7B0><EFBFBD>Ķ<EFBFBD>Ԫ<EFBFBD><D4AA>դ<EFBFBD><D5A4><EFBFBD><EFBFBD>ģʽ
							 | 
						|||
| 
								 | 
							
								void setrop2(int mode);				// <20><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>Ķ<EFBFBD>Ԫ<EFBFBD><D4AA>դ<EFBFBD><D5A4><EFBFBD><EFBFBD>ģʽ
							 | 
						|||
| 
								 | 
							
								int  getpolyfillmode();				// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
							 | 
						|||
| 
								 | 
							
								void setpolyfillmode(int mode);		// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void graphdefaults();				// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ΪĬ<CEAA><C4AC>ֵ
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								COLORREF getlinecolor();			// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
							 | 
						|||
| 
								 | 
							
								void setlinecolor(COLORREF color);	// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
							 | 
						|||
| 
								 | 
							
								COLORREF gettextcolor();			// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
							 | 
						|||
| 
								 | 
							
								void settextcolor(COLORREF color);	// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
							 | 
						|||
| 
								 | 
							
								COLORREF getfillcolor();			// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
							 | 
						|||
| 
								 | 
							
								void setfillcolor(COLORREF color);	// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
							 | 
						|||
| 
								 | 
							
								COLORREF getbkcolor();				// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ɫ
							 | 
						|||
| 
								 | 
							
								void setbkcolor(COLORREF color);	// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ɫ
							 | 
						|||
| 
								 | 
							
								int  getbkmode();					// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
							 | 
						|||
| 
								 | 
							
								void setbkmode(int mode);			// <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><>ɫģ<C9AB><C4A3>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								COLORREF RGBtoGRAY(COLORREF rgb);
							 | 
						|||
| 
								 | 
							
								void RGBtoHSL(COLORREF rgb, float *H, float *S, float *L);
							 | 
						|||
| 
								 | 
							
								void RGBtoHSV(COLORREF rgb, float *H, float *S, float *V);
							 | 
						|||
| 
								 | 
							
								COLORREF HSLtoRGB(float H, float S, float L);
							 | 
						|||
| 
								 | 
							
								COLORREF HSVtoRGB(float H, float S, float V);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								COLORREF getpixel(int x, int y);				// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
							 | 
						|||
| 
								 | 
							
								void putpixel(int x, int y, COLORREF color);	// <20><><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void moveto(int x, int y);						// <20>ƶ<EFBFBD><C6B6><EFBFBD>ǰ<EFBFBD><C7B0>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
							 | 
						|||
| 
								 | 
							
								void moverel(int dx, int dy);					// <20>ƶ<EFBFBD><C6B6><EFBFBD>ǰ<EFBFBD><C7B0>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void line(int x1, int y1, int x2, int y2);		// <20><><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void linerel(int dx, int dy);					// <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
							 | 
						|||
| 
								 | 
							
								void lineto(int x, int y);						// <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void rectangle	   (int left, int top, int right, int bottom);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void fillrectangle (int left, int top, int right, int bottom);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>б߿<D0B1>)
							 | 
						|||
| 
								 | 
							
								void solidrectangle(int left, int top, int right, int bottom);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>ޱ߿<DEB1>)
							 | 
						|||
| 
								 | 
							
								void clearrectangle(int left, int top, int right, int bottom);	// <20><><EFBFBD>վ<EFBFBD><D5BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void circle		(int x, int y, int radius);		// <20><>Բ
							 | 
						|||
| 
								 | 
							
								void fillcircle (int x, int y, int radius);		// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ(<28>б߿<D0B1>)
							 | 
						|||
| 
								 | 
							
								void solidcircle(int x, int y, int radius);		// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ(<28>ޱ߿<DEB1>)
							 | 
						|||
| 
								 | 
							
								void clearcircle(int x, int y, int radius);		// <20><><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void ellipse	 (int left, int top, int right, int bottom);	// <20><><EFBFBD><EFBFBD>Բ
							 | 
						|||
| 
								 | 
							
								void fillellipse (int left, int top, int right, int bottom);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ(<28>б߿<D0B1>)
							 | 
						|||
| 
								 | 
							
								void solidellipse(int left, int top, int right, int bottom);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ(<28>ޱ߿<DEB1>)
							 | 
						|||
| 
								 | 
							
								void clearellipse(int left, int top, int right, int bottom);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void roundrect	   (int left, int top, int right, int bottom, int ellipsewidth, int ellipseheight);		// <20><>Բ<EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void fillroundrect (int left, int top, int right, int bottom, int ellipsewidth, int ellipseheight);		// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD>(<28>б߿<D0B1>)
							 | 
						|||
| 
								 | 
							
								void solidroundrect(int left, int top, int right, int bottom, int ellipsewidth, int ellipseheight);		// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD>(<28>ޱ߿<DEB1>)
							 | 
						|||
| 
								 | 
							
								void clearroundrect(int left, int top, int right, int bottom, int ellipsewidth, int ellipseheight);		// <20><><EFBFBD><EFBFBD>Բ<EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void arc	 (int left, int top, int right, int bottom, double stangle, double endangle);	// <20><><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2>(<28><>ʼ<EFBFBD>ǶȺ<C7B6><C8BA><EFBFBD>ֹ<EFBFBD>Ƕ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
							 | 
						|||
| 
								 | 
							
								void pie	 (int left, int top, int right, int bottom, double stangle, double endangle);	// <20><><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>(<28><>ʼ<EFBFBD>ǶȺ<C7B6><C8BA><EFBFBD>ֹ<EFBFBD>Ƕ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
							 | 
						|||
| 
								 | 
							
								void fillpie (int left, int top, int right, int bottom, double stangle, double endangle);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>(<28>б߿<D0B1>)
							 | 
						|||
| 
								 | 
							
								void solidpie(int left, int top, int right, int bottom, double stangle, double endangle);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>(<28>ޱ߿<DEB1>)
							 | 
						|||
| 
								 | 
							
								void clearpie(int left, int top, int right, int bottom, double stangle, double endangle);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void polyline	 (const POINT *points, int num);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void polygon	 (const POINT *points, int num);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void fillpolygon (const POINT *points, int num);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>(<28>б߿<D0B1>)
							 | 
						|||
| 
								 | 
							
								void solidpolygon(const POINT *points, int num);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>(<28>ޱ߿<DEB1>)
							 | 
						|||
| 
								 | 
							
								void clearpolygon(const POINT *points, int num);	// <20><><EFBFBD>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void floodfill(int x, int y, int border);			// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void outtext(LPCTSTR str);					// <20>ڵ<EFBFBD>ǰλ<C7B0><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void outtext(TCHAR c);						// <20>ڵ<EFBFBD>ǰλ<C7B0><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								void outtextxy(int x, int y, LPCTSTR str);	// <20><>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void outtextxy(int x, int y, TCHAR c);		// <20><>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								int textwidth(LPCTSTR str);					// <20><>ȡ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ռ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ؿ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								int textwidth(TCHAR c);						// <20><>ȡ<EFBFBD>ַ<EFBFBD>ռ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ؿ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								int textheight(LPCTSTR str);				// <20><>ȡ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ռ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ظ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								int textheight(TCHAR c);					// <20><>ȡ<EFBFBD>ַ<EFBFBD>ռ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ظ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								int drawtext(LPCTSTR str, RECT* pRect, UINT uFormat);	// <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
							 | 
						|||
| 
								 | 
							
								int drawtext(TCHAR c, RECT* pRect, UINT uFormat);		// <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
							 | 
						|||
| 
								 | 
							
								//		nHeight: <20>ַ<EFBFBD><D6B7><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>߶ȣ<DFB6>
							 | 
						|||
| 
								 | 
							
								//		nWidth: <20>ַ<EFBFBD><D6B7><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0 <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>Ӧ)<29><>
							 | 
						|||
| 
								 | 
							
								//		lpszFace: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		nEscapement: <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>Ƕ<EFBFBD>(<28><>λ 0.1 <20><>)<29><>
							 | 
						|||
| 
								 | 
							
								//		nOrientation: ÿ<><C3BF><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>Ƕ<EFBFBD>(<28><>λ 0.1 <20><>)<29><>
							 | 
						|||
| 
								 | 
							
								//		nWeight: <20>ַ<EFBFBD><D6B7>ıʻ<C4B1><CABB><EFBFBD>ϸ(0 <20><>ʾĬ<CABE>ϴ<EFBFBD>ϸ)<29><>
							 | 
						|||
| 
								 | 
							
								//		bItalic: <20>Ƿ<EFBFBD>б<EFBFBD>壻
							 | 
						|||
| 
								 | 
							
								//		bUnderline: <20>Ƿ<EFBFBD><C7B7>»<EFBFBD><C2BB>ߣ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		bStrikeOut: <20>Ƿ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>ߣ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		fbCharSet: ָ<><D6B8><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		fbOutPrecision: ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		fbClipPrecision: ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ֵļ<D6B5><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		fbQuality: ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		fbPitchAndFamily: ָ<><D6B8><EFBFBD>Գ<EFBFBD><D4B3>淽ʽ<E6B7BD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>С<EFBFBD>
							 | 
						|||
| 
								 | 
							
								void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace);
							 | 
						|||
| 
								 | 
							
								void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace, int nEscapement, int nOrientation, int nWeight, bool bItalic, bool bUnderline, bool bStrikeOut);
							 | 
						|||
| 
								 | 
							
								void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace, int nEscapement, int nOrientation, int nWeight, bool bItalic, bool bUnderline, bool bStrikeOut, BYTE fbCharSet, BYTE fbOutPrecision, BYTE fbClipPrecision, BYTE fbQuality, BYTE fbPitchAndFamily);
							 | 
						|||
| 
								 | 
							
								void settextstyle(const LOGFONT *font);	// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
								void gettextstyle(LOGFONT *font);		// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void loadimage(IMAGE *pDstImg, LPCTSTR pImgFile, int nWidth = 0, int nHeight = 0, bool bResize = false);					// <20><>ͼƬ<CDBC>ļ<EFBFBD><C4BC><EFBFBD>ȡͼ<C8A1><CDBC>(bmp/jpg/gif/emf/wmf)
							 | 
						|||
| 
								 | 
							
								void loadimage(IMAGE *pDstImg, LPCTSTR pResType, LPCTSTR pResName, int nWidth = 0, int nHeight = 0, bool bResize = false);	// <20><><EFBFBD><EFBFBD>Դ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ȡͼ<C8A1><CDBC>(bmp/jpg/gif/emf/wmf)
							 | 
						|||
| 
								 | 
							
								void saveimage(LPCTSTR pImgFile, IMAGE* pImg = NULL);																		// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
							 | 
						|||
| 
								 | 
							
								void getimage(IMAGE *pDstImg, int srcX, int srcY, int srcWidth, int srcHeight);												// <20>ӵ<EFBFBD>ǰ<EFBFBD><C7B0>ͼ<EFBFBD>豸<EFBFBD><E8B1B8>ȡͼ<C8A1><CDBC>
							 | 
						|||
| 
								 | 
							
								void putimage(int dstX, int dstY, const IMAGE *pSrcImg, DWORD dwRop = SRCCOPY);												// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ
							 | 
						|||
| 
								 | 
							
								void putimage(int dstX, int dstY, int dstWidth, int dstHeight, const IMAGE *pSrcImg, int srcX, int srcY, DWORD dwRop = SRCCOPY);		// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ(ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
							 | 
						|||
| 
								 | 
							
								void rotateimage(IMAGE *dstimg, IMAGE *srcimg, double radian, COLORREF bkcolor = BLACK, bool autosize = false, bool highquality = true);// <20><>תͼ<D7AA><CDBC>
							 | 
						|||
| 
								 | 
							
								void Resize(IMAGE* pImg, int width, int height);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>豸<EFBFBD>Ĵ<EFBFBD>С
							 | 
						|||
| 
								 | 
							
								DWORD* GetImageBuffer(IMAGE* pImg = NULL);			// <20><>ȡ<EFBFBD><C8A1>ͼ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD>Դ<EFBFBD>ָ<EFBFBD><D6B8>
							 | 
						|||
| 
								 | 
							
								IMAGE* GetWorkingImage();							// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0>ͼ<EFBFBD>豸
							 | 
						|||
| 
								 | 
							
								void SetWorkingImage(IMAGE* pImg = NULL);			// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0>ͼ<EFBFBD>豸
							 | 
						|||
| 
								 | 
							
								HDC GetImageHDC(IMAGE* pImg = NULL);				// <20><>ȡ<EFBFBD><C8A1>ͼ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>(HDC)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								int	getwidth();			// <20><>ȡ<EFBFBD><C8A1>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								int	getheight();		// <20><>ȡ<EFBFBD><C8A1>ͼ<EFBFBD><CDBC><EFBFBD>߶<EFBFBD>
							 | 
						|||
| 
								 | 
							
								int	getx();				// <20><>ȡ<EFBFBD><C8A1>ǰ x <20><><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								int	gety();				// <20><>ȡ<EFBFBD><C8A1>ǰ y <20><><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								void BeginBatchDraw();	// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void FlushBatchDraw();	// ִ<><D6B4>δ<EFBFBD><CEB4><EFBFBD>ɵĻ<C9B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void FlushBatchDraw(int left, int top, int right, int bottom);	// ִ<><D6B4>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ɵĻ<C9B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void EndBatchDraw();	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD>ִ<EFBFBD><D6B4>δ<EFBFBD><CEB4><EFBFBD>ɵĻ<C9B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								void EndBatchDraw(int left, int top, int right, int bottom);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD>ִ<EFBFBD><D6B4>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ɵĻ<C9B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								HWND GetHWnd();								// <20><>ȡ<EFBFBD><C8A1>ͼ<EFBFBD><CDBC><EFBFBD>ھ<EFBFBD><DABE><EFBFBD>(HWND)
							 | 
						|||
| 
								 | 
							
								TCHAR* GetEasyXVer();						// <20><>ȡ EasyX <20><>ǰ<EFBFBD>汾
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								bool InputBox(LPTSTR pString, int nMaxCount, LPCTSTR pPrompt = NULL, LPCTSTR pTitle = NULL, LPCTSTR pDefault = NULL, int width = 0, int height = 0, bool bOnlyOK = true);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
							 | 
						|||
| 
								 | 
							
								// ֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
							 | 
						|||
| 
								 | 
							
								//		WM_MOUSEMOVE		<09><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		WM_MOUSEWHEEL		<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		WM_LBUTTONDOWN		<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		WM_LBUTTONUP		<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		WM_LBUTTONDBLCLK	<09><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>
							 | 
						|||
| 
								 | 
							
								//		WM_MBUTTONDOWN		<09>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		WM_MBUTTONUP		<09>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		WM_MBUTTONDBLCLK	<09>м<EFBFBD>˫<EFBFBD><CBAB>
							 | 
						|||
| 
								 | 
							
								//		WM_RBUTTONDOWN		<09>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		WM_RBUTTONUP		<09>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								//		WM_RBUTTONDBLCLK	<09>Ҽ<EFBFBD>˫<EFBFBD><CBAB>
							 | 
						|||
| 
								 | 
							
								struct MOUSEMSG
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									UINT uMsg;				// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
							 | 
						|||
| 
								 | 
							
									bool mkCtrl;			// Ctrl <20><><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
									bool mkShift;			// Shift <20><><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
									bool mkLButton;			// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
									bool mkMButton;			// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
									bool mkRButton;			// <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
									short x;				// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD> x <20><><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
									short y;				// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD> y <20><><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
									short wheel;			// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD>ֵ (120 <20>ı<EFBFBD><C4B1><EFBFBD>)
							 | 
						|||
| 
								 | 
							
								};
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								bool MouseHit();			// <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
							 | 
						|||
| 
								 | 
							
								MOUSEMSG GetMouseMsg();		// <20><>ȡһ<C8A1><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>У<EFBFBD><D0A3>͵ȴ<CDB5>
							 | 
						|||
| 
								 | 
							
								void FlushMouseMsgBuffer();	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
							 |