Synchroniser deux listbox

0/5 (2 avis)

Vue 11 109 fois - Téléchargée 983 fois

Description

Voici une méthode pour synchroniser deux ListBox. J'entend par synchroniser, que le premier élément affiché sur chaque ListBox ait le même numéro.

Si je ne suis pas clair, essayez l'exemple contenu dans le zip...

Source / Exemple :


procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
  // Il faut intercepter les messages de la roulette
  // pour déplacer la deuxième ListBox
  If (Msg.Message=WM_MOUSEWHEEL)And(Screen.ActiveForm=Form1)
  Then Begin
    If ActiveControl=ListBox1 Then SendMessage(ListBox2.Handle,WM_MOUSEWHEEL,MSG.wParam,MSG.lParam);
    If ActiveControl=ListBox2 Then SendMessage(ListBox1.Handle,WM_MOUSEWHEEL,MSG.wParam,MSG.lParam);
  End;
  // Il faut aussi intercepter les messages reçus sur les barres
  // de défilement.
  If ((Msg.Message=WM_NCLBUTTONDOWN)Or(Msg.Message=WM_NCMOUSEMOVE))
      And(Screen.ActiveForm=Form1)
  Then Begin
    If ActiveControl=ListBox1 Then ListBox2.TopIndex:=ListBox1.TopIndex;
    If ActiveControl=ListBox2 Then ListBox1.TopIndex:=ListBox2.TopIndex;
  End;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
  // Ici c'est pour les synchronisation quand ItemIndex change
  ListBox2.TopIndex:=ListBox1.TopIndex;
end;

procedure TForm1.ListBox2Click(Sender: TObject);
begin
  // Ici c'est pour les synchronisation quand ItemIndex change
  ListBox1.TopIndex:=ListBox2.TopIndex;
end;

Conclusion :


Cette source et quelques autres sur : http://nono40.developpez.com

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Remixgame Messages postés 56 Date d'inscription mardi 12 février 2002 Statut Membre Dernière intervention 2 août 2007
25 mars 2003 à 17:01
OUps j'ai oublie le Rien ....
Rien à redire c'est ces petits codes , qui sont utiles ...
Remixgame Messages postés 56 Date d'inscription mardi 12 février 2002 Statut Membre Dernière intervention 2 août 2007
25 mars 2003 à 16:38
Très bien à redire...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.