Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Mettre en couleur une ligne dans une combobox [ Archives / Divers ] (dimdidi)

vendredi 30 septembre 2005 à 09:48:30 | Mettre en couleur une ligne dans une combobox

dimdidi

Bonjour,

Je voudrais pouvoir mettre en couleur une ligne dans une combobox.

du genre ComboBox.Item[1].color=clBlack;

J'ai aussi regardé ComboBoxEx mais je n'ai pas trouvé;

Si quelqu'un à une idée ?
Merci d'avance...

Dimdidi


samedi 1 octobre 2005 à 10:48:35 | Re : Mettre en couleur une ligne dans une combobox

barbichette

Membre Club
Réponse acceptée !
Ben,
 voilà un exemple où le premier item est en jaune.
Il faut mettre ce code dans l'évenement OnDrawItem du Combobox
et définir le Style du combobox à csOwnerDrawFixed ou csOwnerDrawVariable.

if odSelected in State then
 begin
  combobox1.Canvas.Brush.color:=clHighlight;
  combobox1.Canvas.pen.color:=clHighlightText;
 end
else
if odComboBoxEdit in State then
  begin
   combobox1.Canvas.Brush.color:=clWindow;
   combobox1.Canvas.pen.color:=clWindowText;
  end
else
  begin
   combobox1.Canvas.Brush.color:=clWindow;
   combobox1.Canvas.pen.color:=clWindowText;
   if index=0 then combobox1.Canvas.Brush.color:=clyellow;
  end;
combobox1.Canvas.fillrect(rect);
combobox1.canvas.TextOut(rect.Left+1,rect.Top+1,combobox1.Items[index]);


Maintenant,
 si tu supprime le bloc du milieu (if odComboBoxEdit in State then...)
ton combobox cera en jaune quand le premier item sera selectionné, même dans la zone en haut, sinon, cette zone est toujours blanche (ou d'une autre couleur que tu peut justement choisir ici...)

Par contre, dans ces deux style de combobox, l'utilisateur ne peut pas entrer une valeur. Seules celles de Items peuvent être choisies

Barbichette

mardi 4 octobre 2005 à 09:18:34 | Re : Mettre en couleur une ligne dans une combobox

dimdidi

Désolé pour la validation tardive mais je n'ai pas pu me connecter plus tot
Sinon cela fonctionne bien à un chouilla près

if odSelected in State then
 begin
  combobox1.Canvas.Brush.color:=clHighlight;
  combobox1.Canvas.pen.color:=clHighlightText;
 end
else
if odComboBoxEdit in State then
  begin
   combobox1.Canvas.pen.color:=clWindowText;
   if index=0 then combobox1.Canvas.Brush.color:=clyellow
   else combobox1.Canvas.Brush.color:=clWindow;
   // Sinon quand on selectionne on ne garde pas la couleur
  end
else
  begin  
   combobox1.Canvas.pen.color:=clWindowText;
   if index=0 then combobox1.Canvas.Brush.color:=clyellow
   else combobox1.Canvas.Brush.color:=clWindow;
  end;
combobox1.Canvas.fillrect(rect);
combobox1.canvas.TextOut(rect.Left+1,rect.Top+1,combobox1.Items[index]);


Merci Barbichette pour le code et les commentatires

Dimdidi




Cette discussion est classé dans : combobox, ligne, couleur


Répondre à ce message

Sujets en rapport avec ce message

Couleur de la police d'une ligne d'un ListView [ par rguef ] Bonjour, Je cherche à changer la couleur de police d'une ligne dans un ListView ? Est-ce possible ?WezzaR Combobox avec couleur... [ par orelien ] Bonjour,J'aimerais mettre de la couleur dans un combobox, et afficher un carré de couleur différent sur chaque ligne avec à côté le texte.MerciOrélien Changer la couleur du rond d'un ComboBox [ par CptPingu ] Il est possible de changer la couleur dun TEdit avec Edit1.Color:=clRed par exemple.Comment doit on faire pour changer le petit rond blanc d'une combo [DBGrid + Combobox] Pointer directement sur la ligne du DBGrid ou la valeur d un champ est egale a celle selectionne dans le combobox [ par eshin ] Bonjour , j aimerais savoir comment faire pour que lorsque l utilisateur selectionne un "nom" dans le combobox , la DBGrid pointe directement sur la l Couleur d'un TStringGrid [ par NaY972 ] Salut je voulais savoir comment modifier la couleur d'une ligen d'un TStringGrid... juste une ligne....et aussi comment ecrire en gras sur une ligne d COMBOBOX WORD pour le nuls, comme moi [ par lafafmentvotre ] BonjourComme mon sujet l'indique je suis nul en VB mais voudrais avoir une info.Sous ComboBox associer une valeur à une ligne [ par dimdidi ] Bonjour,Je voudrais dans une ComboBox pouvoir associé une valeur en fonction de la ligne selectionnéeex : Base de donneeID -> Valeur5 -> Toto10 -> Tat richedit et couleur [ par yoghisan ] Bonjour,J'arrive à mettre une couleur differente sur chaque ligne d'un richedits1 et s2 sont des stringsRichEdit1.SelAttributes.Color := clNavy;Rich désactive une ligne ComboBox [ par ataeallah ] Bonjour,J'ai un comboBox qui contient les l'informations suivantes :ArticlePrestationArticle non référenceEst ce que c'est possible de désactive une l Listview et couleur ..... [ par DeAtHCrAsH ] Lu all,Je dispose d'un TListView utilisé en vsReport.J'aimerai faire 2 choses dessus :   1 - Une ligne sur deux doit etre verte   2 - Lorsque l'utilis


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.