Synchroniser deux listbox

Soyez le premier à donner votre avis sur cette source.

Vue 10 455 fois - Téléchargée 862 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
57
Date d'inscription
mardi 12 février 2002
Statut
Membre
Dernière intervention
2 août 2007
-
Très bien à redire...
Remixgame
Messages postés
57
Date d'inscription
mardi 12 février 2002
Statut
Membre
Dernière intervention
2 août 2007
-
OUps j'ai oublie le Rien ....
Rien à redire c'est ces petits codes , qui sont utiles ...

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.