OVH Cloud OVH Cloud

Fonction colorBox

5 réponses
Avatar
Jean Marie VIGNEAUD
Bonjour,

J'essaie de mettre en pratique l'api colorbox dont le fonctionnement est
expliqué à l'adresse suivante :
http://officesystem.access.free.fr/apicolorbox.htm

Le bout de code suivant semble lui poser un Pb à la compil :

Public Enum WinSizeColors
Small = 0
Large = 2
PreventLarge = 4
End Enum

Il me dit "Erreur de compil : identificateur attendu" en mettant Enum en
surbrillance.

Si vous avez une idée de ma boulette....

Merci pour votre aide.

Cordialement,

Jean Marie

5 réponses

Avatar
Gafish
Bonjour,

A mon avis ce n'est pas une boulette de ta part. Tu es en 97 non ? Si c'est
le cas, c'est normal, Enum n'est dispo que depuis 2000.
Si tu veux contourner, tu supprimes les valeurs énumérées et tu utilises les
codes numériques à la place.

Arnaud

"Jean Marie VIGNEAUD" a écrit dans le
message news: cut62i$lsv$
Bonjour,

J'essaie de mettre en pratique l'api colorbox dont le fonctionnement est
expliqué à l'adresse suivante :
http://officesystem.access.free.fr/apicolorbox.htm

Le bout de code suivant semble lui poser un Pb à la compil :

Public Enum WinSizeColors
Small = 0
Large = 2
PreventLarge = 4
End Enum

Il me dit "Erreur de compil : identificateur attendu" en mettant Enum en
surbrillance.

Si vous avez une idée de ma boulette....

Merci pour votre aide.

Cordialement,

Jean Marie




Avatar
Jean Marie VIGNEAUD
Merci pour l'info


Autre soucis, j'ai un autre message à la compil

"Type défini par l'utilisateur non défini"

Il me met en surbrillance la ligne :
Private Declare Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA"
(pChoosecolor As COLORSTRUC) As LongPublic

Je vous donne dessous le reste du code en sachant que je suis en access 97.

Merci pour votre aide précieuse.

A+


Option Compare Database
Option Explicit

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

Const SOLIDCOLOR = &H80
Const ANYCOLOR = &H100
Const RGBINIT = &H1
Dim RetValue As Long
Dim CS As COLORSTRUC

Private Declare Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA"
(pChoosecolor As COLORSTRUC) As LongPublic

Function ColorBox(Optional ColorNumber As Long = 0, Optional FULLOPEN As
WinSizeColors = 0) As Long
CS.lStructSize = Len(CS)
CS.hwnd = hWndAccessApp
CS.rgbResult = ColorNumber
CS.Flags = SOLIDCOLOR Or ANYCOLOR Or RGBINIT Or FULLOPEN
CS.lpCustColors = String$(16 * 4, 0)
RetValue = ChooseColor(CS)
If RetValue = 0 Then CS.rgbResult = 0
ColorBox = CS.rgbResult
End Function

"Gafish" a écrit dans le message de news:
eH$
Bonjour,

A mon avis ce n'est pas une boulette de ta part. Tu es en 97 non ? Si
c'est

le cas, c'est normal, Enum n'est dispo que depuis 2000.
Si tu veux contourner, tu supprimes les valeurs énumérées et tu utilises
les

codes numériques à la place.

Arnaud

"Jean Marie VIGNEAUD" a écrit dans le
message news: cut62i$lsv$
Bonjour,

J'essaie de mettre en pratique l'api colorbox dont le fonctionnement est
expliqué à l'adresse suivante :
http://officesystem.access.free.fr/apicolorbox.htm

Le bout de code suivant semble lui poser un Pb à la compil :

Public Enum WinSizeColors
Small = 0
Large = 2
PreventLarge = 4
End Enum

Il me dit "Erreur de compil : identificateur attendu" en mettant Enum en
surbrillance.

Si vous avez une idée de ma boulette....

Merci pour votre aide.

Cordialement,

Jean Marie








Avatar
Raymond [mvp]
Bonjour.

il y a un problème de saut de ligne:
ci-joint la fonction:

Option Compare Database
Option Explicit
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
Const SOLIDCOLOR = &H80
Const ANYCOLOR = &H100
Const RGBINIT = &H1
Dim RetValue As Long
Dim CS As COLORSTRUC

Private Declare Function ChooseColor Lib "comdlg32.dll" _
Alias "ChooseColorA" (pChoosecolor As COLORSTRUC) As Long

Public Function ColorBox(Optional ColorNumber As Long = 0, _
Optional FULLOPEN As Long = 2) As Long
CS.lStructSize = Len(CS)
CS.hwnd = hWndAccessApp
CS.rgbResult = ColorNumber
CS.Flags = SOLIDCOLOR Or ANYCOLOR Or RGBINIT Or FULLOPEN
CS.lpCustColors = String$(16 * 4, 0)
RetValue = ChooseColor(CS)
If RetValue = 0 Then CS.rgbResult = 0
ColorBox = CS.rgbResult
End Function



--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Jean Marie VIGNEAUD" a écrit dans le
message de news: cuv2nh$j6o$
Merci pour l'info


Autre soucis, j'ai un autre message à la compil

"Type défini par l'utilisateur non défini"



Avatar
Jean Marie VIGNEAUD
Raymond,

Merci pour l'info.

Une dernière petite question.

Est-il possible de définir dans un formulaire de type feuille de données,
qui contient un champ nommé "couleur", une couleur de fond différentes pour
chaque ligne d'enregistrements différents ?

Merci pour l'info.

Cordialment,


"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

il y a un problème de saut de ligne:
ci-joint la fonction:

Option Compare Database
Option Explicit
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
Const SOLIDCOLOR = &H80
Const ANYCOLOR = &H100
Const RGBINIT = &H1
Dim RetValue As Long
Dim CS As COLORSTRUC

Private Declare Function ChooseColor Lib "comdlg32.dll" _
Alias "ChooseColorA" (pChoosecolor As COLORSTRUC) As Long

Public Function ColorBox(Optional ColorNumber As Long = 0, _
Optional FULLOPEN As Long = 2) As Long
CS.lStructSize = Len(CS)
CS.hwnd = hWndAccessApp
CS.rgbResult = ColorNumber
CS.Flags = SOLIDCOLOR Or ANYCOLOR Or RGBINIT Or FULLOPEN
CS.lpCustColors = String$(16 * 4, 0)
RetValue = ChooseColor(CS)
If RetValue = 0 Then CS.rgbResult = 0
ColorBox = CS.rgbResult
End Function



--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Jean Marie VIGNEAUD" a écrit dans le
message de news: cuv2nh$j6o$
Merci pour l'info


Autre soucis, j'ai un autre message à la compil

"Type défini par l'utilisateur non défini"







Avatar
Raymond [mvp]
oui, uniquement si tu passes par la mise en forme conditionnelle et dans la
limite de 3 couleurs pour la totalité des lignes . Autrement dit , non ce
n'est pas possible. dans un formulaire continu ou feuille de données, ce
sont les mêmes contrôles qui sont répétés sur l'écran. Toutes les lignes
seront en couleur dans la limite des 3 couleurs définies pour une ligne plus
la ligne normale en blanc.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Jean Marie VIGNEAUD" a écrit dans le
message de news: cv2320$hkk$
Raymond,

Merci pour l'info.

Une dernière petite question.

Est-il possible de définir dans un formulaire de type feuille de données,
qui contient un champ nommé "couleur", une couleur de fond différentes
pour
chaque ligne d'enregistrements différents ?

Merci pour l'info.

Cordialment,