IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

[D7] Couleur de la ligne sélectionnée d'un TListView


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 513
    Par défaut [D7] Couleur de la ligne sélectionnée d'un TListView
    Rebonjour,

    Est il possible de changer la couleur de la ligne sélectionnée dans un TListView ?

    Je ne trouve rien de probant à ce sujet. L'affichage de la sélection semble se faire après le OnCustomDrawItem ?

    Merci
    A+
    Charly

  2. #2
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 513
    Par défaut
    J'ai trouvé une solution : il faut utiliser SetSysColors mais attention cela impacte tout Windows et pas seulement le TlistView :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Const
       cElements = 2;
    Var
       aElements : Array [1..cElements] of Integer;
       aRgbValues: Array [1..cElements] of Integer;
    Begin
       aElements[1] := COLOR_HIGHLIGHT  ;
       aRgbValues[1]:= ColorToRGB( Color3 );
       aElements[2] := COLOR_HIGHLIGHTTEXT;
       aRgbValues[2]:= ColorToRGB( clBlack );
       SetSysColors( cElements, aElements, aRgbValues );
    End ;
    En quittant, il ne faut pas oublier de remettre les couleurs à leurs couleurs d'origine.

    et ce n'est pas terrible de toucher aux couleurs systèmes !

    A+
    Charly

  3. #3
    Membre chevronné Avatar de blonde
    Femme Profil pro
    Développeur Delphi
    Inscrit en
    Septembre 2003
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : Septembre 2003
    Messages : 278
    Par défaut
    Il me semble avoir déjà fait ce type de chose en D6.
    Si j'ai compris, tu as essayé avec OwnerDraw à true et te chargeant du dessin dans l'événement OnCustomDrawItem ?

  4. #4
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 513
    Par défaut
    Bonjour Blonde,

    non, je n'ai pas réussi avec CustomDrawItem ni CustonDrawSubIten. J'ai utilisé SetSysColors pour changer COLOR_HIGHLIGHT, mais ce n'est pas très malin !

    A+
    Charly

  5. #5
    Membre chevronné Avatar de blonde
    Femme Profil pro
    Développeur Delphi
    Inscrit en
    Septembre 2003
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : Septembre 2003
    Messages : 278
    Par défaut
    Comme j'ai vu que tu voulais également aligner le texte des items, je me dis que c'est peut-être le moment de dessiner toi-même les éléments dans la liste.
    Je regarde dans l'après-midi pour te faire un exemple. J'ai encore un D6 sur mon poste.

  6. #6
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 513
    Par défaut
    Ok, merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 24/02/2011, 11h54
  2. Datagrid, changer la couleur de la ligne sélectionnée
    Par Golzinne dans le forum Silverlight
    Réponses: 3
    Dernier message: 12/03/2010, 15h44
  3. Réponses: 3
    Dernier message: 25/12/2008, 09h51
  4. MSFlexgrid: couleur de la ligne sélectionnée
    Par GodGives dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 07/11/2008, 18h20
  5. Réponses: 9
    Dernier message: 12/08/2002, 07h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo