.


:




:

































 

 

 

 





, , , , , . , HRGN.

:

ExtCreateRegion (const XFORM *lpXform, DWORD nDataSize,

const RGNDATA lpRgnData);

XFORM , NULL ; RGNDATA, :

RGNDATAHEADER rdh ;

char Buffer [1] RECT, .

, RGNDATAHEADER :

DWORD dwSize ;

DWORD iType (RGN _ RECTANGLES);

DWORD nCount ;

DWORD nRgnSize ( );

RECT rcBound .

hRgn = CreateRectRgn (xLeft, yTop, xRight, yBottom);

hRgn = CreateRectRgnIndirect (&rect);

:

hRgn = CreateEllipticRgn (xLeft, yTop, xRight, yBottom);

hRgn = CreateEllipticRgnIndirect (&rect);

CreateRoundRectRgn .

( Polygon):

hRgn = CreatePolygonRgn (&point, iCount, iPolyFillMode);

point POINT, iCount , iPolyFillMode ALTERNATE (WINDING). CreatePolyPolygonRgn.

:

iRgnType = CombineRgn (hDestRgn, hSrcRgn1, hSrcRgn2, iCombine);

(hSrcRgn1 hSrcRgn2) , hDestRgn. , , hDestRgn, .

iCombine :

RGN_AND ;

RGN_OR ;

RGN_XOR ;

RGN_DIFF hSrcRgn1, hSrcRg2;

RGN_COPY hSrcRgn1.

iRgnType, , : NULLREGION ; SIMPLEREGION , ; COMPLEXREGION , ; ERROR .

FillRgn (hdc,hRgn,hBrush); FrameRgn (hdc,hRgn,hBrush,xFrame,yFrame);

InvertRgn (hdc, hRgn); PaintRgn (hdc, hRgn);

FillRect ( ), FrameRect ( ) InvertRect ( ); xFrame yFrame , .

PaintRgn . , .

GDI:

DeleteObject (hRgn);

GetRgnData . GetRgnBox.

PtInRegion RectInRegion .

.

 





:


: 2018-10-14; !; : 196 |


:

:

, .
==> ...

1348 - | 1201 -


© 2015-2024 lektsii.org - -

: 0.009 .