Option Explicit 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 Private Declare Function ChooseColorAPI Lib "comdlg32.dll" Alias _ "ChooseColorA" (pChoosecolor As CHOOSECOLOR) As Long Dim CustomColors() As Byte Private Sub Command1_Click() Dim cc As CHOOSECOLOR Dim Custcolor(16) As Long Dim lReturn As Long cc.lStructSize = Len(cc) cc.hwndOwner = Me.hWnd cc.hInstance = 0 cc.lpCustColors = StrConv(CustomColors, vbUnicode) cc.flags = 0 lReturn = ChooseColorAPI(cc) If lReturn <> 0 Then Me.Caption = "RGB Value User Chose: " & Str$(cc.rgbResult) Me.BackColor = cc.rgbResult ' Visual Basic only **** Me.Section(0).BackColor = cc.rgbResult ' Access only ********** CustomColors = StrConv(cc.lpCustColors, vbFromUnicode) Else MsgBox "User chose the Cancel Button" End If End Sub Private Sub Form_Load() ReDim CustomColors(0 To 16 * 4 - 1) As Byte Dim i As Integer For i = LBound(CustomColors) To UBound(CustomColors) CustomColors(i) = 0 Next i End Sub |