Private Declare Function ChooseColor Lib “comdlg32.dll” Alias “ChooseColorA” (pChoosecolor As ChooseColor) As Long
Private Type ChooseColor
lStructSize As Long
hwndOwner As Long
hInstance As Long
rgbResult As Long
lpCustColors As String
flags As Long
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Dim mc As Long
Private Function VbToRGB(ByVal mColor As Long) As Variant
Dim Blue&, Red&, Green&
Blue = 0: Red = 0: Green = 0
Blue = mColor \ 65536
Green = (mColor - 65536 * Blue) \ 256
Red = mColor - 65536 * Blue - Green * 256
VbToRGB = Array(Red, Green, Blue)
End Function
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then Exit Sub
If X > 0 And X < Me.ScaleWidth And Y > 0 And Y < Me.ScaleHeight Then
Dim CC As ChooseColor
CC.lStructSize = Len(CC)
CC.hwndOwner = Me.hwnd
CC.hInstance = App.hInstance
CC.flags = 0
CC.lpCustColors = String$(16 * 4, 0)
If ChooseColor(CC) < 1 Then Exit Sub
mc = CC.rgbResult
Call Colorre(mc)
End If
End Sub
Private Sub Form_Resize()
Call Colorre(mc)
End Sub
Private Sub Colorre(ByVal C As Long)
Dim ColorArr
ColorArr = VbToRGB©
Me.BackColor = C
Me.Cls
Print “R:” & ColorArr(0) & vbCrLf & “G:” & ColorArr(1) & vbCrLf & “B:” & ColorArr(2)
End Sub