crgn.h

来自「基于Windml2.0的窗口系统原代码 , 以及和MFC CDC兼容的CDC」· C头文件 代码 · 共 74 行

H
74
字号


////////////////////////////////////////////////////////////////////////
//
//  作者:
//  创建日期:
//  最后修改日期:
//	说明:本类是为兼容MFC中CRgn类而设计,仅仅提供非常简单的功能
//
////////////////////////////////////////////////////////////////////////

#ifndef CRgn_h
#define CRgn_h 1

//#include "cgdiobject.h"
#include "cdc_platform.h"
#include "cpoint.h"
#include "crect.h"



#define	UGL_NULLREGION      1
#define	COMPLEXREGION	2
#define	SIMPLEREGION    4


//##ModelId=3FC7047F010B
class CRgn 
{
	
public:
    //##ModelId=3FC7048000DB
    CRgn ();
        
    CRgn (UGL_REGION_ID uglRegionId);
        
    //##ModelId=3FC7048000DC
    virtual ~CRgn ();

public:

	void SetRegionId(UGL_REGION_ID uglRegionId);

public:

    //##ModelId=3FC7048000DE
    bool CreateRectRgn( int x1, int y1, int x2, int y2 );
    //##ModelId=3FC7048000E7
    bool CreateRectRgnIndirect( LPCRECT lpRect );
    //##ModelId=3FC7048000EF
    bool CreateRectRgnIndirect( CRect *lpRect );

//    bool CreatePolygonRgn( CPoint *lpPoints, int nCount, int nMode );
//    bool CreatePolygonRgn( POINT *lpPoints, int nCount, int nMode );
//    bool CreateEllipticRgn( int x1, int y1, int x2, int y2 );
    
    //##ModelId=3FC70480010F
    int CombineRgn( CRgn* pRgn1, CRgn* pRgn2, int nCombineMode );
    //##ModelId=3FC704800119
    bool DeleteObject();
    //##ModelId=3FC70480011A
    void Copy(CRgn *rgn);
    //##ModelId=3FC704800121
    const CRgn & operator=(const CRgn &rgn);

public:

	UGL_REGION_ID m_uglRegionId;
	
};

#endif

⌨️ 快捷键说明

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