Da bi pozvali dijalog prozor za izbor boje i programskog koda VBA (npr. u Access-u), koristićemo API funkciju „ChooseColor“. Ukoliko želite da ova funkcija jednostavno vrati vrednost boje, koju je korisnik izabrao u dijalogu, onda samo promenite deklaraciju funkcije „modColorPicker“:
Public Function DialogColor(ctl As Control) As Long
‘ Ne zaboravite da dodate ovu liniju na kraj koda funkcije
DialogColor = CS.rgbResult
Poziv funkcije sa vaše forme mogao bi da bude ovakav (događaj OnClick)
Private Sub CmdIzaberiBoju_Click()
‘ Funkcija vezana za TextBox kontrolu
Me.textCtl.BackColor = DialogColor(Me.textCtl)
End Sub
Private Type COLORSTRUC lStructSize As Long hwnd 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 Const CC_SOLIDCOLOR = &H80 Private Declare Function ChooseColor _ Lib „comdlg32.dll“ Alias „ChooseColorA“ _ (pChoosecolor As COLORSTRUC) As Long Public Function aDialogColor(prop As Property) As Boolean Dim x As Long, CS As COLORSTRUC, CustColor(16) As Long CS.lStructSize = Len(CS) CS.hwnd = hWndAccessApp CS.Flags = CC_SOLIDCOLOR CS.lpCustColors = String$(16 * 4, 0) x = ChooseColor(CS) If x = 0 Then “ U slucaju greske, koristi se podrazumevana bela boja prop = RGB(255, 255, 255) “ Bela aDialogColor = False Exit Function Else “ U slucaju da nema greske prop = CS.rgbResult End If aDialogColor = True End Function
Pratite Krstaricu na www.krstarica.com