PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2025 → Scroll d'une fenêtre
Scroll d'une fenêtre
Débuté par Pascal BOULESTEIX, 01 mai 2026 18:19 - 9 réponses
Membre enregistré
1 259 messages
Posté le 01 mai 2026 - 18:19
Bonjour à tous
Dans un des plans d'une fenêtre, je crée dynamiquement des boutons, par clonage, les uns sous les autres.
Selon le contexte, il peut arriver qu'il y ait beaucoup de boutons.




Se pose alors un problème de scrolling de la fenêtre.
Dans une passé par si lointain, les boutons étaient ajoutés dans une ZR mais une monté de niveau de WM a été fatale à cette technique.
N'ayant pas eu de solution du support, j'ai donc abandonné la ZR et je crée maintenant les boutons directement dans la plan.
J'ai allongé la hauteur de la fenêtre mais cette solution pose des problèmes dans les autres plans de la fenêtre (si l'on a scrollé vers le bas, l'action sur le bouton cliqué nécessite de remonter par programmation dans le plan suivant.
Je pourrais augmenter la hauteur de la fenêtre mais c'est du bricolage.
De plus, on arrive à remplir la fenêtre.





Questions :
- comment faire pour rendre le scroll possible sur l'ensemble des boutons ?
- est-il possible d'adapter la hauteur de la fenêtre par programmation (nbr de boutonx40px+nbPx_Entete)

--
Pascal Boulesteix
Applications Visiolittoral et WNat
Message modifié, 01 mai 2026 - 18:21
Membre enregistré
946 messages
Posté le 01 mai 2026 - 22:52
Bonjour. J'utilise souvent les zones répétées sans aucun problème, en y ajoutant parfois des centaines d'éléments. Une autre option similaire à ce que vous faites actuellement consiste à utiliser une fenêtre interne dans laquelle placer les boutons. Cette fenêtre interne comportera une barre de défilement lorsque la taille de la liste dépassera celle de la fenêtre interne. Vous pourriez également utiliser un Super Control.


Rubén

--
https://depot.pcsoft.fr/search.awp…

https://www.linkedin.com/in/rub%C3%A9n-s%C3%A1nchez-pe%C3%B1a-7a868212/
https://play.google.com/store/apps/details…
Membre enregistré
1 259 messages
Posté le 03 mai 2026 - 11:36
Bonjour Rubén
Je viens de reconstruire le plan en passant par une ZR.
Le bug est toujours présent dès que le nombre de boutons est important (environ 200).
L'affichage est bon mais dès qu'on veut scroller, c'est très long avant que cela réagisse (on dira que c'est dû au temps de chargement alors que le toast affichant le temps de chargement affiche un temps très cours)..
Au bout de quelques secondes, on peut faire défiler la liste mais quand on est en bas, le ZR, qui a un ancrage "occuper tout l'espace" est tronquée et on ne peut pas voir les lignes de la fin.
Autre problème et pas des moindres, une fois paginée, il n'est plus possible de remonter !
Les clics sur les boutons fonctionnent.
La vidéo https://www.saxrub.net/WindevMobile/Screen_Recording_20260503_072517_Visiolittoral.mp4

--
Pascal Boulesteix
Applications Visiolittoral et WNat
Membre enregistré
946 messages
Posté le 03 mai 2026 - 12:00
Bonjour. Ce n'est pas ton cas, mais j'utilise toujours des processus en arrière-plan (ParallelTask) pour traiter les données que je dois inclure, et une fois que j'ai les données, j'appelle une procédure du thread principal pour intégrer les informations dans le ZR.

En relisant tes messages, tu mentionnes que tu crées un bouton dans le ZR à chaque ligne. Pourquoi ? Tu peux donner à chaque ligne l'apparence que tu souhaites sans avoir à créer un bouton à chaque fois ; tu peux même lui donner l'apparence d'un bouton sans qu'il en soit un.

D'autre part, tu peux également utiliser le mode pagination pour qu'il ne crée que les lignes visibles à chaque instant sans avoir à toutes les créer.

Rubén

--
https://depot.pcsoft.fr/search.awp…

https://www.linkedin.com/in/rub%C3%A9n-s%C3%A1nchez-pe%C3%B1a-7a868212/
https://play.google.com/store/apps/details…
Membre enregistré
1 259 messages
Posté le 03 mai 2026 - 15:56
Je ne veux pas de gestuelle dans la ZR seulement un événement clic sur la ligne.
Les boutons sont inclus pour avoir le look général des boutons de l'application et pour ajouter un texte.
Comment ajouter un texte dans chaque ligne sans inclure un champ ?
Comment indiquer pour les lignes doivent avoir des bords arrondis ?

--
Pascal Boulesteix
Applications Visiolittoral et WNat
Membre enregistré
946 messages
Posté le 03 mai 2026 - 20:44
Vous pouvez définir un champ de texte avec des bords arrondis, choisir la couleur de fond qui vous convient et centrer le texte d'information dans le contrôle de texte. C'est ce que j'utilise dans mes applications. Tu peux également ajouter d'autres contrôles, comme des images sur lesquelles cliquer. Lorsque tu cliques sur l'une des lignes, cela exécute du code dans le ZR. S'il est possible de regrouper les lignes d'une manière ou d'une autre, cela sera également plus pratique pour l'utilisateur. Devoir chercher une option parmi des centaines peut être un peu fastidieux.












Rubén

--
https://depot.pcsoft.fr/search.awp…

https://www.linkedin.com/in/rub%C3%A9n-s%C3%A1nchez-pe%C3%B1a-7a868212/
https://play.google.com/store/apps/details…
Message modifié, 03 mai 2026 - 20:47
Membre enregistré
1 259 messages
Posté le 04 mai 2026 - 07:19
J'ai remplacé le bouton par un champ libellé que j'ai stylé comme un bouton.
Ainsi, la pagination est fluide.
Le temps de chargement de 300 lignes est de 0,02 secondes (même performances avec les boutons).
Reste que la ZR s'étend au delà de la taille physique de la fenêtre et que les dernières lignes ne sont pas accessibles.





--
Pascal Boulesteix
Applications Visiolittoral et WNat
Membre enregistré
946 messages
Posté le 04 mai 2026 - 11:33
Hi. Why is the window in the editor so long? Set it to the same size as the other windows in the project. When the content of the ZR is longer than the window, a scroll bar will appear to allow you to scroll through it.

Rubén

--
https://depot.pcsoft.fr/search.awp…

https://www.linkedin.com/in/rub%C3%A9n-s%C3%A1nchez-pe%C3%B1a-7a868212/
https://play.google.com/store/apps/details…
Membre enregistré
1 259 messages
Posté le 04 mai 2026 - 12:46
Parce que dans la fenêtre j'ai un formulaire très long dans un autre plan





Sauf à pouvoir indiquer une hauteur de fenêtre dédiée à chaque plan, je ne vois pas comment faire

--
Pascal Boulesteix
Applications Visiolittoral et WNat
Membre enregistré
946 messages
Posté le 04 mai 2026 - 16:57
Bonjour. Je changerais tout cela. Je le ferais en utilisant la taille d'écran normale. Dans le cas de ce formulaire, je créerais une fenêtre interne (qui permet d'afficher une barre de défilement si la taille dépasse celle de la fenêtre) pour ce formulaire. Par exemple, dans mes applications, j'ai placé les formulaires de consultation dans des fenêtres qui s'affichent à droite et à gauche sur le téléphone. Beaucoup de ces formulaires dépassent la taille de la fenêtre et, grâce aux fenêtres internes, on utilise des barres de défilement pour pouvoir voir tout le contenu sans problème.






















Ce ne sont que des fenêtres internes. Cela signifie que vous n'avez pas besoin de dépasser les dimensions de l'appareil pour afficher les données.

Rubén

--
https://depot.pcsoft.fr/search.awp…

https://www.linkedin.com/in/rub%C3%A9n-s%C3%A1nchez-pe%C3%B1a-7a868212/
https://play.google.com/store/apps/details…