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 :

événement lors du défilement d'une listebox ???


Sujet :

Composants VCL Delphi

  1. #1
    Membre confirmé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Points : 474
    Points
    474
    Par défaut événement lors du défilement d'une listebox ???
    Bonjour à tou(te)s
    Voilà, la question est dans le titre:
    Comment détecter que l'utilisateur fait défiler la listbox vers le haut ou le bas à l'aide de la scrollbar ?????????
    Il n'y a aucun événement associé...
    (delphi 6)

    Merci (rien trouvé dans la FAQ)
    Choisir, c'est renoncer...

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut!

    En utilisant la propriété TopIndex.
    Avec un timer par exemple, il faut sauver le TopIndex pour détecter le changement de sa valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Var savetop: Integer;
     
    {----------------------------------------------------------------}
    Procedure TForm1.Timer1Timer(Sender: TObject);
    Begin
      If (savetop <> ListBox1.TopIndex) Then Beep;
      savetop := ListBox1.TopIndex;
    End;

    Lien tout en bas à gauche de cette fenêtre
    De retour parmis vous après 10 ans!!

  3. #3
    Membre confirmé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Points : 474
    Points
    474
    Par défaut
    OK merci
    Choisir, c'est renoncer...

  4. #4
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Sinon, tu peux aussi utiliser un composant dérivé de TListBox :

    Le voilà tout fait, il n'y a plus qu'a installer dans un nouveau paquet, il apparaitra dans l'onglet Exemples de la palette de composants.
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    unit UnitListBoxScroll;
     
    interface
     
    uses
      SysUtils, Classes, Controls, StdCtrls,Messages;
     
    type
      TListBoxScroll = class(TListBox)
      private
        FOnHScroll: TScrollEvent;
        FOnVScroll: TScrollEvent;
        { Déclarations privées }
        procedure WMHScroll(var Message: TWMHScroll); message WM_HSCROLL;
        procedure WMVScroll(var Message: TWMVScroll); message WM_VSCROLL;
        procedure SetOnHScroll(const Value: TScrollEvent);
        procedure SetOnVScroll(const Value: TScrollEvent);
      protected
        { Déclarations protégées }
      public
        { Déclarations publiques }
      published
        { Déclarations publiées }
        property OnVScroll:TScrollEvent read FOnVScroll write SetOnVScroll;
        property OnHScroll:TScrollEvent read FOnHScroll write SetOnHScroll;
      end;
     
    procedure Register;
     
    implementation
     
    procedure Register;
    begin
      RegisterComponents('Exemples', [TListBoxScroll]);
    end;
     
    { TListBoxScroll }
     
    procedure TListBoxScroll.SetOnHScroll(const Value: TScrollEvent);
    begin
      FOnHScroll := Value;
    end;
     
    procedure TListBoxScroll.SetOnVScroll(const Value: TScrollEvent);
    begin
      FOnVScroll := Value;
    end;
     
    procedure TListBoxScroll.WMHScroll(var Message: TWMHScroll);
    var dummy:Integer;
    begin
      dummy:=0;
      if Assigned(FOnHScroll) then FOnHScroll(Self, TScrollCode(message.ScrollCode), dummy);
      inherited;
    end;
     
    procedure TListBoxScroll.WMVScroll(var Message: TWMVScroll);
    var dummy:Integer;
    begin
      dummy:=0;
      if Assigned(FOnVScroll) then FOnVScroll(Self, TScrollCode(message.ScrollCode), dummy);
      inherited;
    end;
     
    end.
    Bidouilleuse Delphi

  5. #5
    Membre confirmé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Points : 474
    Points
    474
    Par défaut
    OK merci Wascol
    Je vais pouvoir tester ce composant...
    Désolé d'avoir tardé à répondre
    Choisir, c'est renoncer...

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

Discussions similaires

  1. [XL-2003] Déclencher un évènement lors de la saisie dans une cellule
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/05/2010, 12h31
  2. dropdownlist gérer événement lors d'une selection
    Par blandine555 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 25/07/2007, 19h11
  3. faire apparaître une listebox lors d'un choix d'une listebox
    Par akara dans le forum Général JavaScript
    Réponses: 28
    Dernier message: 12/07/2007, 15h41
  4. Réponses: 1
    Dernier message: 23/11/2006, 19h07
  5. Gestion des évènements lors d'un clique sur une image.
    Par yoghisan dans le forum Débuter
    Réponses: 7
    Dernier message: 23/06/2005, 19h04

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