devxlogo

AreaFill – Fill an area with a solid color

AreaFill – Fill an area with a solid color

Private Declare Function ExtFloodFill Lib "GDI32" (ByVal hDC As Long, _    ByVal X As Long, ByVal Y As Long, ByVal colorCode As Long, _    ByVal fillType As Long) As LongConst FLOODFILLBORDER = 0Const FLOODFILLSURFACE = 1' Fill a region using the current color or brush'   OBJ can be a form or a control that exposes'       a device context (eg a picture box)'   X,Y are given in the current system coordinates'' If BORDERCOLOR is specified, fills the area'   enclosed by a border of that color' If BORDERCOLOR is omitted, the area is filled with'   the color now at coordinates (x,y), and any'   different color is considered to a the borderSub AreaFill(obj As Object, ByVal X As Long, ByVal Y As Long, _    ByVal colorCode As Long, Optional borderColor As Variant)        Dim x2 As Long, y2 As Long    Dim saveFillStyle As Long    Dim saveFillColor As Long        With obj        ' convert into pixel coordinates        x2 = .ScaleX(X, .ScaleMode, vbPixels)        y2 = .ScaleY(Y, .ScaleMode, vbPixels)                ' save FillStyle and FillColor properties        saveFillStyle = .FillStyle        saveFillColor = .FillColor        ' enforce new properties        .FillStyle = 0        .FillColor = colorCode                If IsMissing(borderColor) Then            ' get color at given coordinates            borderColor = .Point(X, Y)            ' change all the pixels with that color            ExtFloodFill .hDC, x2, y2, borderColor, FLOODFILLSURFACE        Else            ExtFloodFill .hDC, x2, y2, borderColor, FLOODFILLBORDER        End If        ' restore properties        .FillStyle = saveFillStyle        .FillColor = saveFillColor    End WithEnd Sub

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist