Clipping Output

After the user chooses the Clip option from the menu, the application uses the coordinates of the rectangle the user created to define a clipping region. After defining the clipping region and selecting it into the application's device context, the application redraws the bitmapped image. The application performs these tasks, as follows.

/* These variables are required for clipping. */

static POINT ptUpperLeft;

static POINT ptLowerRight;

static POINT aptRect[5];

static POINT ptTmp;

static POINTS ptsTmp;

static BOOL fDefineRegion;

static BOOL fRegionExists;

static HRGN hrgn;

static RECT rctTmp;

int i;

case WM_COMMAND:

switch (wParam) {

case IDM_CLIP:

hdc = GetDC(hwnd);

/*

* Retrieve the application's client rectangle and paint

* with the default (white) brush.

*/

GetClientRect(hwnd, &rctTmp);

FillRect(hdc, &rctTmp, GetStockObject(WHITE_BRUSH));

/* Use the rect coordinates to define a clipping region. */

hrgn = CreateRectRgn(aptRect[0].x, aptRect[0].y,

aptRect[2].x, aptRect[2].y);

SelectClipRgn(hdc, hrgn);

/* Transfer (draw) the bitmap into the clipped rectangle. */

BitBlt(hdc,

0, 0,

bmp.bmWidth, bmp.bmHeight,

hdcCompatible,

0, 0,

SRCCOPY);

ReleaseDC(hwnd, hdc);

break;

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples