Carte du site
 Remerciements
 Netiquette
 Bugs
 Tables
 Requêtes
 Formulaires
 États (rapports)
 Modules
 APIs
 Chaînes
 Date/Time
 Général
 Ressources
 Téléchargeables

 Termes d'usage

APIs: Utilisation du dialogue de Windows pour choisir une couleur

Author(s)
Terry Kreft et Stephen Lebans

Pour utiliser le dialogue  ChooseColor de Windows, à partir du code, on peut utiliser la fonction API ChooseColor.

Choose Font or Color Dialog.zip (Access 97)

Si vous ne désirez obtenir que la valeur de la couleur choisie par l'utilisateur, simplement changer la déclaration de la fonction comme suit, dans modColorPicker:

Public Function DialogColor(ctl As Control) As Long
' Se rappeler de rajouter la ligne
' à la fin du code:
' DialogColor = CS.rgbResult

et alors, depuis votre formulaire, le code peut ressembler à:

'***Code Start ***
Private Sub CmdChooseBackColor_Click()
    ' Pass the TextBox Control to the function
    Me.textCtl.BackColor = DialogColor(Me.textCtl)
End Sub
'***Code End ***
' ******** Code Start ********
' Original Code by Terry Kreft
' Modified by Stephen Lebans
' Contact Stephen@lebans.com
'
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
    ' ERROR - use Default White
    prop = RGB(255, 255, 255) ' White
    aDialogColor = False
    Exit Function
  Else
    ' Normal processing
     prop = CS.rgbResult
  End If
  aDialogColor = True
End Function
' ********* Code End ***********

© 1998-2001, Dev Ashish, All rights reserved. Optimized for Microsoft Internet Explorer