1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| Option Compare Database
Option Explicit
' Module inspiré par le travail de ** S.Lebans et Pierre Alexis
' Copié dans un tutoriel de ** Caféine
' Constantes utilisées par aDialogColor
Private Const CC_RGBINIT = &H1&
Private Const CC_FULLOPEN = &H2&
Private Const CC_PREVENTFULLOPEN = &H4&
Private Const CC_SHOWHELP = &H8&
Private Const CC_ENABLEHOOK = &H10&
Private Const CC_ENABLETEMPLATE = &H20&
Private Const CC_ENABLETEMPLATEHANDLE = &H40&
Private Const CC_SOLIDCOLOR = &H80&
Private Const CC_ANYCOLOR = &H100&
' Type API de structure de couleur
Private Type apiCOLORSCHEMA
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
' Constante de couleur "solide"
Private Const API_SOLIDCOLOR = &H80
'''""""""""""""""""""""""""""""""""""""""""""""""""""'''
'
' API cmdlg32.dll
'
'''""""""""""""""""""""""""""""""""""""""""""""""""""'''
Private Declare Function apiChooseColor Lib "comdlg32.dll" Alias "ChooseColorA" _
(pChoosecolor As apiCOLORSCHEMA) As Long
' fonction qui permet d'affecter une couleur à une propriété
Public Function aDialogColor(DefaultColor As Long) As Long
Dim X As Long, CS As apiCOLORSCHEMA, CustColor(16) As Long
CS.lStructSize = Len(CS)
CS.hwnd = hWndAccessApp
CS.rgbResult = DefaultColor
CS.lpCustColors = String$(16 * 4, 0)
CS.flags = CC_ANYCOLOR Or CC_RGBINIT Or CC_FULLOPEN ' API_SOLIDCOLOR
X = apiChooseColor(CS)
If X = 0 Then
aDialogColor = -1
Else
' Normal processing
aDialogColor = CS.rgbResult
End If
End Function |
Partager