Bonjour,
Pour les besoins d'une application je dois placer un panel en haut de ma forme qui doit toujours être visible, puis sur cette même forme il me faut une zone qui soit scrollable si le contenu est plus grand que la forme.
J'ai donc placé un Panel en align alTop et une ScrollBox en align alClient. Le résultat obtenu répond à mes besoins, en suite je place des éléments enfants à cette ScrollBox comme un Panel ou Label.
Lorsque le curseur de la souris se trouve au dessus d'un élément enfant de la ScrollBox, le scroll avec la mollette de la souris (MouseWheel) ne fonctionne plus !
Y a t il une solution pour que le scroll par le molette de la souris fonctionne toujours au dessus d'un élément enfant à ma ScrollBox ?
J'ai pas mal cherché et je n'ai pas trouvé de solution fonctionnelle, j'ai trouvé le moyen de détecter l'utilisation de la molette (avec TApplicationProperties et l'événement OnUserInput) mais je ne connais pas le delta et le sens.
Je précise que ce comportement ne se passe que sous Windows, sous Linux pas de problème je peux scroller sur un élément enfant (Pas testé sous OSX). De plus j'ai le même comportement avec un TFrame...
Et pour finir, si je n'utilise pas de ScrollBox mais que je place mes éléments directement sur la forme je peux scroller avec la mollette en ayant mon curseur au dessus d'un élément (même sous Windows). Mais après mon Panel qui est en align alTop ne sera plus toujours visible...
J'ai ajouté un exemple en pièce jointe.
Merci de votre aide
@+
Partager