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 :

Comment obtenir des lignes de séparation dans dans un CheckListBox ?


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 157
    Points : 84
    Points
    84
    Par défaut Comment obtenir des lignes de séparation dans dans un CheckListBox ?
    Bonjour,
    j'aimerais mettre des lignes de séparation dans dans un CheckListBox.
    Comment dois-je faire ?

    Merci

  2. #2
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    La methode la plus simple serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ComboBox1.Items.add('----------');
    avec bien sur un test qui detecte la selection d'un item pour eviter de pouvoir selectioner cet item ...
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  3. #3
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    CheckListBox1.Style = lbOwnerDrawFixed
    CheckListBox1.OnDrawItem = CheckListBox1DrawItem
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    procedure TForm1.CheckListBox1DrawItem(Control: TWinControl;
      Index: Integer; Rect: TRect; State: TOwnerDrawState);
    var BackColor, TextColor : TColor;
    begin
      if odSelected in State then
      begin
        BackColor := clHighlight;
        TextColor := clHighlightText;
      end else
      begin
        BackColor := clWindow;
        TextColor := clBlack;
      end;
      with CheckListBox1.Canvas do
      begin
        Brush.Color := BackColor;
        Pen.Color := TextColor;
        Font.Color := TextColor;
        TextRect(Rect, Rect.Left, Rect.Top, CheckListBox1.Items[Index]);
        if LineBelow(Index) then
        begin
          MoveTo(Rect.Left, Rect.Top+Rect.Height);
          LineTo(Rect.Left+Rect.Width, Rect.Top+Rect.Height);
        end;
      end;
    end;
    Je pense que ça devrait fonctionner.
    LineBelow est une fonction que tu dois créer qui renvoie True s'il y a une ligne en-dessous de l'item Index.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  4. #4
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Aussi ;ppp mais c'est un poil plus complexe a utiliser juste pour un aspect graphique sensiblement plus joli ;p

    Pour moi c'est une methode a mettre en place si le temps le permet

    (mais ce n'est qu'un avis personnel )
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 157
    Points : 84
    Points
    84
    Par défaut
    MERCI à tous,

    J'ai pris la version de sjrd et c'est nickel, merci encore

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

Discussions similaires

  1. [XL-2007] Comment supprimer des lignes d'une plage dans une colonne sous condition
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 05/06/2015, 11h34
  2. [XL-2003] Comment avoir des lignes de différentes couleurs dans un combobox
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/10/2009, 05h10
  3. Réponses: 5
    Dernier message: 11/08/2008, 15h25
  4. Réponses: 2
    Dernier message: 07/08/2006, 16h43
  5. Comment mettre des lignes de couleur dans une TCheckListBox ?
    Par Isa31 dans le forum Composants VCL
    Réponses: 9
    Dernier message: 31/03/2005, 08h40

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