Choix couleur texte par menu

Le
Smicky77
Bonjour à tous,

Question de l'utilisateur (ma femme ;-) d'une appli Access que je lui ai
faite :

Peux t-on proposer un choix de couleur pour un texte (contrôle ou étiquette)
dans un état au moment de sa visualisation.
Proposer un menu à choix fixe ou en affichant la palette de couleur.

Je tatonne et ne trouve rien, ni dans les historique du forum.

Meri d'avance à vous.
Smicky
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Smicky77
Le #6318941

Bonjour à tous,

Question de l'utilisateur (ma femme ;-) d'une appli Access que je lui ai
faite :

Peux t-on proposer un choix de couleur pour un texte (contrôle ou étiquette)
dans un état au moment de sa visualisation.
Proposer un menu à choix fixe ou en affichant la palette de couleur.

Je tatonne et ne trouve rien, ni dans les historique du forum.

Meri d'avance à vous.
Smicky


Re,
Après quelques essais et tatonement, je m'en sors en VBA avec :
Me.MonControle.ForeColor = n
n = valeur numérique de la couleur
Le tout avec un menu formulaire perso mais limité en nombre....

Mais y a t-il moyen de passer par la palette de couleur ?

A votre bon coeur m'sieur dame
Smicky

Gilbert
Le #6318931
Bonjour,
Cette procédure permet d'ouvrir une fenêtre de dialogue et de récupérer le
code de la couleur sélectionnée par l'opérateur. (extrait de l'exemple conçu
par Jessy Sempere - Access MVP, le 03/04/2003)

L'api sera placée dans un module et sera appelée par la fonction suivante:

Private Sub Commande0_Click()

Me.Texte1 = acDialogColor ou

Me.Texte2.ForeColor = acDialogColor

End Sub

Le contrôle Texte1 contiendra le numéro de la couleur sélectionnée. Ce
numéro pourra être utilisé directement dans la propriété ForeColor ou
BackColor d'un contrôle d'un formulaire ou d'un état.

La couleur du texte du contrôle texte2 sera directement modifié avec le
numéro de la couleur.

Placer le code suivant dans un module normal de n'importe quel nom:

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 CC_SOLIDCOLOR = &H80

Private Declare Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA"
_

(pChoosecolor As COLORSTRUC) As Long

Dim x As Long, CS As COLORSTRUC

Public Function acDialogColor() 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 CS.rgbResult = 0

acDialogColor = CS.rgbResult

End Function



Cordialement

Gilbert

"Smicky77" news:
Bonjour à tous,

Question de l'utilisateur (ma femme ;-) d'une appli Access que je lui ai
faite :

Peux t-on proposer un choix de couleur pour un texte (contrôle ou
étiquette)

dans un état au moment de sa visualisation.
Proposer un menu à choix fixe ou en affichant la palette de couleur.

Je tatonne et ne trouve rien, ni dans les historique du forum.

Meri d'avance à vous.
Smicky


Smicky77
Le #6318861
Bonjour Gilbert,

Génial, c'est exactement ce que je cherchais, ça ouvre toutes les
possibilités de couleurs. MERCI.

Question subsidiaire :
Est-il possible de faire la même chose avec la fenêtre des polices
d'écriture ?
Ou des propriétés d'écriture ?

Encore merci.
Smicky


Bonjour,
Cette procédure permet d'ouvrir une fenêtre de dialogue et de récupérer le
code de la couleur sélectionnée par l'opérateur. (extrait de l'exemple conçu
par Jessy Sempere - Access MVP, le 03/04/2003)

L'api sera placée dans un module et sera appelée par la fonction suivante:

Private Sub Commande0_Click()

Me.Texte1 = acDialogColor ou

Me.Texte2.ForeColor = acDialogColor

End Sub

Le contrôle Texte1 contiendra le numéro de la couleur sélectionnée. Ce
numéro pourra être utilisé directement dans la propriété ForeColor ou
BackColor d'un contrôle d'un formulaire ou d'un état.

La couleur du texte du contrôle texte2 sera directement modifié avec le
numéro de la couleur.

Placer le code suivant dans un module normal de n'importe quel nom:

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 CC_SOLIDCOLOR = &H80

Private Declare Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA"
_

(pChoosecolor As COLORSTRUC) As Long

Dim x As Long, CS As COLORSTRUC

Public Function acDialogColor() 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 CS.rgbResult = 0

acDialogColor = CS.rgbResult

End Function



Cordialement

Gilbert


Publicité
Poster une réponse
Anonyme