|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Conseil - Consultant en systèmes d'information Inscription : octobre 2008 Messages : 212 ![]() |
Bonjour à tous et à toutes,
J'ai créé une application qui utilise, classiquement, des tables pour spécifier des caractéristiques. Afin de rendre les formulaires et les états plus "parlants", je modifie la couleur de fond du contrôle en fonction de la valeur de la table. Jusque là je sais faire ... Par contre, je voudrais créer un interface pour que l'utilisateur puisse affecter, lui même, les couleurs qu'il souhaite utiliser. En fait, je voudrais pouvoir utiliser le petit interface que l'on trouve dans les propriétés d'un contrôle : "Couleur fond" ... Autre couleur ... Merci de vos pistes, de vos liens et de vos contributions. Cordialement, |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Conseil - Consultant en systèmes d'information Inscription : octobre 2008 Messages : 212 ![]() |
J'ai peut-être posté un peu tôt ...
J'ai trouvé la réponse ici : http://access.developpez.com/sources...ndlg#ShowColor Il me manque juste un petit réglage. Comment faire pour faire apparaitre dans la fenêtre de sélection la couleur précédemment choisie ... Merci à vous. |
|
|
00
|
|
|
#3 | ||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonsoir,
Essaie avec la fonction ainsi modifiée (ajout deuxième argument pour la couleur initiale) : Code :
|
||
|
|
10
|
|
|
#4 |
|
Membre habitué
![]() Conseil - Consultant en systèmes d'information Inscription : octobre 2008 Messages : 212 ![]() |
Bonjour LepZepII,
Ta modif est pile poil ce que je charchais. Merci ! ![]() Seul petit problème que j'ai réglé, mon application ne reconnait pas Code :
cc.lpCustColors = VarPtr(CustomColors(0)) Code :
cc.lpCustColors = StrConv(CustomColors, vbUnicode) @+ |
|
|
00
|
|
|
#5 | ||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
C'est étonnant, chez moi c'est l'inverse. VarPtr renvoie l'adresse mémoire (pointeur) d'une variable VB. lpCustColors est un pointeur sur un tableau d'entiers 32 bits. En réalité dans mon code, lpCustColors est déclaré en type Long, et non String. Code :
|
||
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
bjr,
effectivement lpCustColors est un pointeur par contre attention à la déclaration des tableaux, par défaut ça commence à zéro donc : définit un tableau de 17 valeurs avec des indices de 0 à 16 personnellement je préfère mettre la borne inférieure de manière explicite : cela ne change pas grand chose mais c'est plus clair et on n'a pas besoin d'aller voir s'il y a un "option base n" en haut du module au moins je suis sûr que mon tableau commence à l'indice 0 mais c'est un avis personnel concernant ce tableau justement, il est possible de le conserver d'un appel sur l'autre en le rendant statique (et donc on ne le remplit pas par le code évidemment) comme ça il est réutilisé à chaque appel et si l'utilisateur choisi des couleurs personnalisées, il les retrouve à chaque appel (tant que l'appli n'est pas fermée)
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
00
|
|
|
#7 |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Salut Thierry,
Entièrement d'accord avec toi. Généralement j'évite le codage implicite. Là, j'ai fauté ![]() A+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com