Hi there,
I could use a little help because I've only just started using the API.
I have to create my own fillstyle. I ought to look like the standard API-fillstyle HS_CROSS (VisualBasic Fillstyle=6).
I found an example on the web using the API-function CreatePatternBrush. However I wasn't able to change the bitmap so that it looks like HS_CROSS.
So, is CreatePatternBrush the right API-funtion to use?
If so, how do I create a bitmap?
This is what I've been experimenting with so far:
Code:Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Declare Function CreatePatternBrush Lib "gdi32" (ByVal hBitmap As Long) As Long Private Declare Function FillRect Lib "user32" (ByVal hdc As Long, lpRect As RECT, ByVal hBrush As Long) As Long Private Declare Function SetRect Lib "user32" (lpRect As RECT, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Private Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long, ByVal nHeight As Long, ByVal nPlanes As Long, ByVal nBitCount As Long, lpBits As Any) As Long Dim bBytes(1 To 8) As Byte Private Sub Form_Paint() Dim R As RECT, mBrush As Long, hBitmap As Long For mBrush = 1 To 8 bBytes(mBrush) = 127 Next 'Create a memory bitmap hBitmap = CreateBitmap(8, 8, 1, 1, bBytes(1)) 'Create the pattern brush mBrush = CreatePatternBrush(hBitmap) SetRect R, 0, 0, Me.ScaleWidth, Me.ScaleHeight 'Fill the form FillRect Me.hdc, R, mBrush 'Clean up DeleteObject mBrush DeleteObject hBitmap End Sub
Thanks a lot!
Nina




Reply With Quote