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

Lazarus Pascal Discussion :

Un TListbox virtuel ?


Sujet :

Lazarus Pascal

  1. #1
    Membre régulier Avatar de TheFreeBerga
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 77
    Points
    77
    Par défaut Un TListbox virtuel ?
    Bonjour à toutes & à tous,

    Je me rappelle avoir utilisé, il y a des années de cela, un TListBox sous Delphi qui permettait de ne pas remplir la liste ; il suffisait de renseigner la propriété Count et un appel était fait pour chaque élément visible au travers de l'événement OnDrawItem.

    Sous Lazarus, La propriété Style accepte bien la valeur lbVirtual mais cela n'a aucun effet, d'autant plus que la propriété Count est en lecture seule.

    J'ai fouillé en vain sur le net un composant qui saurait faire ça sous Lazarus... nop.

    Du coup, j'ai tenté de dériver depuis un TCustomListBox pour implémenter ce comportement mais je ne sais même pas par où commencer...

    Une idée ?

  2. #2
    Membre chevronné

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonjour.

    Si je comprend bien, tu désires avoir une liste d'items vides.
    Aucune complication avec un TListBox (ajout d'items = '').
    Mais pourquoi ne pas utiliser un TDrawGrid ou un TStringGrid: là tu as une propriété RowCount.

    Thierry

  3. #3
    Membre régulier Avatar de TheFreeBerga
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 77
    Points
    77
    Par défaut
    Bonjour Thierry,

    L'idée du AddItem( '', nil ) m'avais traversé l'esprit mais je trouve ça beurq-beurq...par contre, je vais creuser du côté du TStringGrid.

    Merci !

  4. #4
    Membre régulier Avatar de TheFreeBerga
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 77
    Points
    77
    Par défaut
    Ok, ça fonctionne !

    Le truc, c'est qu'il n'y a pas d'événement de dessin accessible depuis l'EDI. Pour ce faire, il faut créer une procédure de type TOnDrawCell et l'affecter à la propriété OnDrawCell.

    Pour le résultat final, c'est à dire simuler correctement une ListBox, il va falloir se creuser un peu mes méninges, le composant n'étant pas destiné à cela à l'origine mais ça devrait le faire.

    Merci Thierry pour l'astuce, je ne manquerai pas de revenir avec tous les détails pour un fonctionnement identique à un TListBox.

Discussions similaires

  1. PopupMenu sur item de TListBox
    Par nmathon dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/03/2003, 17h28
  2. [Turbo Pascal] Limite de la mémoire virtuelle
    Par moon tiger dans le forum Turbo Pascal
    Réponses: 12
    Dernier message: 08/02/2003, 22h30
  3. [TEdit][TListBox]Recherche instantanée
    Par SamDaKap dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/11/2002, 21h31
  4. Existe-t-il un langage de prog "virtuel" en Français
    Par HRS dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 10/06/2002, 18h11
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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