begin process at 2012 02 11 14:37:41
  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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,312 sec (4)

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