Declare Function OffsetRgn Lib "gdi32.dll" (ByVal hRgn As Long, ByVal x As Long, ByVal y As Long) As Long
Platforms: Win 32s, Win 95/98, Win NT
OffsetRgn translates (slides) a region by a specified amount horizontally and vertically. The region can be moved in any direction left, right, up, or down. The function returns 0 if an error occured, or exactly one of the following flags identifying the shape of the region which was moved:
Example:
' On window Form1, fill an elliptical region in light gray. Then translate the
' region 50 pixels right and 20 pixels up and fill it with dark gray.
Dim hRgn As Long ' handle to the region
Dim hLightBrush As Long, hDarkBrush As Long ' handles to the two brushes to be used
Dim retval As Long ' generic return value
' Create the elliptical region.
hRgn = CreateEllipticRgn(20, 100, 220, 200) ' bounding rectangle (20,100)-(220,200)
' Get handles to the light and dark gray solid stock brushes.
hLightBrush = GetStockObject(LTGRAY_BRUSH)
hDarkBrush = GetStockObject(DKGRAY_BRUSH)
' Fill in the region in its current location on Form1 in light gray.
retval = FillRgn(Form1.hDC, hRgn, hLightBrush)
' Slide the region 50 pixels right and 20 pixels up.
retval = OffsetRgn(hRgn, 50, -20) ' -20 means 20 up, not down
' Fill in the region in its new location in dark gray.
retval = FillRgn(Form1.hDC, hRgn, hDarkBrush)
' Delete the region to free up resources.
retval = DeleteObject(hRgn)
Category: Regions
Go back to the alphabetical Function listing.
Go back to the Reference section index.
This page is copyright © 2000 Paul Kuliniewicz. Copyright Information.
Go back to the Windows API Guide home page.
E-mail: vbapi@vbapi.com Send Encrypted E-Mail
This page is at http://www.vbapi.com/ref/o/offsetrgn.html