How to create a color form in BP?

BlitzPlus Forums/BlitzPlus Programming/How to create a color form in BP?

Here's one way to do it. If anybody has another way of doing it, please share!
; .lib "gdi32.dll"
; Rectangle%(hdc%, l, t, r, b):"Rectangle"
; GetStockObject%(fnObject%):"GetStockObject"
; SetDCBrushColor%(hdc%, crColor%):"SetDCBrushColor"
; SelectObject%(hdc, hgdiobj%):"SelectObject"

Const DC_BRUSH = 18
Global wndMain=CreateWindow("",200,200,200,200)
Global btn=CreateButton("Hello", 10, 10, 100, 20, wndMain)

CreateTimer(60)
Repeat
	Select WaitEvent()
		Case $803 : End
		Case $4001 : DrawBG()
	End Select
Forever

Function DrawBG() ; Low-CPU GDI calls
	dc% = GetDC(QueryObject(wndMain,1)) : If Not dc Then Return ; Fail
	SelectObject(dc, GetStockObject(DC_BRUSH))
	SetDCBrushColor(dc, $cccc) ; Mustard yellow
	Rectangle(dc,0,0,GadgetWidth(wndMain),GadgetHeight(wndMain))
	ReleaseDC(QueryObject(wndMain,1), dc)
End Function