guilt92
Messages postés10Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention17 février 2006
-
3 févr. 2006 à 14:16
cs_poppyto
Messages postés540Date d'inscriptiondimanche 29 décembre 2002StatutModérateurDernière intervention13 mai 2011
-
9 févr. 2006 à 12:24
Bonjour,
je voudrais savoir si il est possible d'avoir des polices différentes selon chaque item d'une listBox, et si oui comment. Peut on appliquer un style a un String que l'on insère ensuite dans la liste ?
Par exemple ma listBox aurait les items suivants :
cs_poppyto
Messages postés540Date d'inscriptiondimanche 29 décembre 2002StatutModérateurDernière intervention13 mai 2011 3 févr. 2006 à 20:24
Non, tu vas devoir utiliser la propriété DrawMode à OwnerDrawVariable ou OwnerDrawFixed (suivant comment tu veux gérer tes chaînes de caractère) afin de dessiner toi même la liste dans l'évenement DrawItem
guilt92
Messages postés10Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention17 février 2006 5 févr. 2006 à 17:27
Merci pour cette réponse mais n'étant pas expert en C++ .Net j'avoue que je ne comprend pas trop. Si il était possible d'avoir plus de détails cela m'aiderait beaucoup, merci.
cs_poppyto
Messages postés540Date d'inscriptiondimanche 29 décembre 2002StatutModérateurDernière intervention13 mai 2011 5 févr. 2006 à 17:48
Le mode OwnerDraw permet de dessiner toi même chaque élement du contrôle ListeBox.
Quand tu te mets en mode OwnerDrawFixed, les "string" sont stockées dans la ListBox et sont transmises dans la structure passée à l'évenment DrawItem.
En effet, en t'abonnant à l'évenement DrawItem et en précisant un des deux modes OwnerDraw, tu pourras utiliser le GDI pour dessiner chaque élement. Quant à l'obtention du contexte de dessin, tout le nécessaire est passé en paramètre de l'évenement DrawItem.
Quant au mode OwnerDrawVariable, il s'agit d'un mode dans lequel tu dois gérer toi même les strings, c'est pratique dans certains cas, mais je ne pense pas que cela soit adapté à ce que tu veux faire.
guilt92
Messages postés10Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention17 février 2006 5 févr. 2006 à 18:16
Merci beaucoup je pense que je commence à comprendre. D'après les tests que j'ai pu faire quand je passe en mode OwnerDrawFixed et que j'ajoute des items "normalement" (list->item->add(objet)) ils n'apparaissent pas, il faut que je les mette en forme dans la fonction list_DrawItem c'est cela ? Si oui si tu pouvais m indiquer comment faire au travers d'un exemple ca serait génial.
Merci encore pour ton aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
guilt92
Messages postés10Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention17 février 2006 7 févr. 2006 à 19:46
Merci encore, cela ne fonctionne toujours pas mais je sens qu on avance !
Ci joint une partie de mon code adapté du tiens (en c++ .NET je crois que le tien etait en C# non ?)
L'idée est que par exemple pour ce test quand je click sur le bouton 1 cela ajoute le mot test a la liste, et pour le moment cela ne fonctionne pas et en revanche un message s afficher mais il n est pas dans la liste, il est juste de la bonne couleur..