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 :

ListBox et ListBox1DrawItem


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Par défaut ListBox et ListBox1DrawItem
    Bonjour,
    me revoila avec mon projet ftp.
    J'ai formaté mon listBox à l'aide de cette méthode
    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
    procedure TForm2.ListBox1DrawItem(Control: TWinControl; Index: Integer;
        Rect: TRect; State: TOwnerDrawState);
    var
        CenterText: integer;
    begin
        with ListBox1.Canvas do
        begin
            ListBox1.Canvas.FillRect(rect);
            CenterText := (rect.Bottom - rect.Top - ListBox1.Canvas.TextHeight(text)) div 2;
            ListBox1.Canvas.TextOut(rect.left + ImageList1.Width + 8, rect.Top + CenterText,
                ListBox1.Items.Strings[Index]);
    // on donne la valeur a aller chercher dans liste d'image
            LstImage[LongeurLst - 1] := icone;
    //on print l'image dans le canvas
            ImageList1.Draw(ListBox1.Canvas, rect.Left + 4, rect.Top + 4, LstImage[Index]);
        end;
    end;
     
    procedure TForm2.ListBox1MeasureItem(Control: TWinControl; Index: Integer;
        var Height: Integer);
    begin
    //on ajuste la grosseur de l'item pour accueillir l'item
        height := ImageList1.Height + 5;
    end;
    ce qui me permet plus tard de mettre des icones différents en fonction du type de fichiers rencontrés sur le serveur.

    Mon probleme est que lorsque je double clique sur un dossier afin d'atteindre les enfants de ce dossier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TForm2.ListBox1DblClick(Sender: TObject);
    var i: Integer;
    begin
        if (ceci est un dossier) then
        begin
            IdFTP1.ChangeDir(ListBox1.Items[ListBox1.ItemIndex]);
            ListBox1.Items.Clear;
            ListBox1.Repaint;
            ListBox1.Clear;
            inc(LongeurLst);
            SetLength(LstImage, LongeurLst);
            IdFTP1.List(ListBox1.Items);
        end;
    end;
    La mise en forme du ListBox ne change pas: si j'avais une icone X pour les 3 premiers elements et une icone Y pur les deux suivant, dans le listbox affichant les enfants cela ne change pas.

    Une idée ???

    André

  2. #2
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Ce serait bien de mettre la solution sur le forum!

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

Discussions similaires

  1. DrawItem d'un listbox...
    Par scorpiwolf dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/06/2007, 15h50
  2. [Listbox] ScrollBar Horizontal
    Par haleem dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/04/2005, 07h53
  3. Recuper les items de ListBox d'une autre application [API?]
    Par Shamanisator dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 27/09/2002, 12h32
  4. [Canvas] Listbox, couleur et multiselect
    Par rbag dans le forum Composants VCL
    Réponses: 3
    Dernier message: 25/09/2002, 13h02
  5. Copier le texte d'un ListBox dans le clipboard.
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/08/2002, 08h20

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