Salut Delphistes.
Quelqu'un a-t-il des renseignements sur le mystérieux évènement de formulaire OnMouseWheel ? Comment utiliser l'argument WheelDelta ?
Merci.
Salut Delphistes.
Quelqu'un a-t-il des renseignements sur le mystérieux évènement de formulaire OnMouseWheel ? Comment utiliser l'argument WheelDelta ?
Merci.
WheelDelta est un multiple de WHEEL_DELTA (120) qui correspond à un cran de la molette.
à toi de déterminer ce que tu en fais
Merci pour cette fulgurante réponse
Dans la liste des argumentsa quoi sert Handled ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean
Envoyé par Aide de Delphi
waouh !!! ça c'est de la question débutant
Handled est un paramètre passé par adresse, et c'est un booléen.
donc le bouton qui est sur un panel qui est sur une fiche...peut gérer l’évènement (de la façon qui lui plait) et l'indiquer en passant Handled à True...sinon le panel parent à une chance de le faire avant que la fiche ne le fasse...ou que personne ne s'en préoccupe et que la molette ne produise aucun effet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 begin // si mon code gère l'évènement Handled := True; // à la fin de la procédure l'évènement NE sera PAS propagé à mon parent // si mon code ne le gère pas Handled := False; // à la fin de la procédure l'évènement sera propagé à mon parent end;
Bon, ben je vais continuer à être lourd ...
L'évènement OnMouseWheel attend les arguments suivants :
Lorsque j'écris le code qui gère l'évènement, je ne peux que LIRE la valeur de Handled. D'où vient-elle ? Chuis paumé !
Code : Sélectionner tout - Visualiser dans une fenêtre à part procedure TForm1.WheelHandler(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
Je pense qu'un bout de code serait le bienvenu.
Merci.
c'est toi qui le dit
pourquoi affirmes-tu cela ?
peux-tu préciser ton niveau en programmation, connais-tu d'autres langages ? ça permet de savoir si tu débutes ou s'il te manque juste quelques repères dans le langage Pascal...par exemple le mot clé "var" utilisé ici, n'a absolument pas le même sans sous Delphi et en Javascript
J'ai un peu d'expérience avec Delphi que j'ai beaucoup utilisé jusqu'à la version 7. Après un break de quelques années, je m'y remets difficilement (vu mon grand âge ! )
Je n'ai toujours pas de réponse à ma question : d'où vient la valeur contenue dans la variable Handled ? et où puis-je la changer ?
Merci en tout cas pour ton immense patience !
salut; c'est la jeunesse d'esprit + un peut de volonté + un peut de pensée positive =
un tour :
http://msdn.microsoft.com/fr-fr/libr...8VS.95%29.aspx
http://arkham46.developpez.com/artic...ss/mousewheel/
voila peut étre que sa va vous aidé amicalement Red
Merci. Même si cette littérature est plutot orientée VB, elle me rapproche du Grââl !
Quoi qu'il en soit, la seule information issue de la méthode OnMouseWheel, c'est l'entier Wheeldelta qui me dit simplement si la molette a été tournée dans un sens ou dans un autre. Ca suffit à renseigner une variable globale qui s'incrémente ou se décrémente en fonction de cette valeur.
Merci.
Handled = Géré.
On retrouve le paramètre Handled dans plusieurs événements, principalement ceux orientés messages. Il permet d'interrompre l'appel des gestionnaires suivants.
En admettant qu'il s'agisse d'une grille, tu pourrais simplement avoir besoin de détecter le scroll pour une action particulière, mais sans interrompre le comportement normal; défilement (Handled := FALSE). Mais dans d'autres cas, tu devras peut-être interdire ce scroll. Dans ce cas, tu définira Handled := TRUE (Géré)
Dans tout les cas, tu retrouveras ce paramètre, soit dans des appels récursifs de procédure, soit dans des chaînages d'événement, mais toujours pour considérer (ou non) le traitement comme terminé
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager