begin process at 2010 03 21 12:57:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Divers

 > 

Mettre en couleur une ligne dans une combobox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Mettre en couleur une ligne dans une combobox

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ée 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

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales