realbasic-nug.fr
[Top] [All Lists]

Re: Déclencher l'évènement standard

To: REALbasic NUG French <realbasic-nug dot fr at lists dot realsoftware dot com>
Subject: Re: Déclencher l'évènement standard
From: Arnaud Nicolet <arnaud at tribu dot ch>
Date: Sat, 26 Aug 2006 16:37:26 +0200
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug dot fr at lists dot realsoftware dot com
References: <c4f55599c1e81c259a0558a3f5d4a7b5 at wanadoo dot fr>
Le 26 août 06 à 10:10 Matin, Alain Legarcon a écrit:

Bonjour,

Je souhaite effectuer de façon automatique une action (renuméroter des lignes) après avoir fait un glissé ("DragReorder") d'une ligne dans un listbox (suis-je clair?)

Pour cela, j'avais pensé mettre cette renumérotation dans l'évènement MouseUp. Malheureusement celui-ci ne se déclenche que si l'évenement MouseDown retourne "True" ce qui masque alors le fonctionnement normal du MouseDown et empêche donc le glissé d'une ligne vers une nouvelle position.

D'où ma question : comment déclencher cet évènement standard

J'ai essayé un "listbox.mousedown" qui n'est pas accepté..

Merci d'avance

Alain Legarçon

Effectivement, en Realbasic, la plupart des utilisations de "MouseUp" requièrent d'altérer le fonctionnement normal du contrôle (car il faut renvoyer "vrai" à l'événement "MouseDown", ce qui indique au système que vous avez/allez gérer l'événement).

Cependant, il existe un événement;: "DragReorderRows".
Alors, oui, c'est vrai, il s'exécute avant que le changement d'ordre se fasse. Mais il s'exécute, comme son nom l'indique, quand l'utilisateur a déplacé une ligne et, en plus, quand la souris a été relâchée.

Et là, c'est vieux comme le monde... de Realbasic: il faut utiliser un compteur ("timer", si vous préférez). Dans l'événement "DragReorderRows", vous écrivez "MyTimer.Mode=1" puis vous faites la remise en ordre dans "MyTimer".

Je sais: c'est peu commode mais c'est bien connu comme limitation de Realbasic.

(notez que je suis resté à realbasic 5.5.5, mais ça n'a certainement pas changé).

Sincèrement,
Arnaut

<Prev in Thread] Current Thread [Next in Thread>