Scrolling (défilement) automatique de la scrollbar dans un trichedit, tmemo, etc

Soyez le premier à donner votre avis sur cette source.

Vue 9 671 fois - Téléchargée 1 533 fois

Description

Agir sur la position de la ScollBar dans un RichEdit, Edit, StringGrid, etc... La positionner au début, à la fin, la déplacer ligne par ligne, page par page.
J'ai pas mal cherché pour trouver ces morceaux de code (merci Google), ça devrait faire le bonheur de quelques uns.
Je balance ce didacticiel vite fait, j'y reviendrai sûrement, là j'ai pas trop le temps, mais ça ouvre déjà quelques perspectives !
Bonne prog'

Source / Exemple :


voir le zip !
Même pas la peine d'aller voir le .pas, l'interface vous dit tout...

Conclusion :


Petite mise à jour, dans laquelle j'ajoute le défilement page par page.
N'hésitez pas à me dire si ce code vous a été utile, sinon je fais autre chose, genre je vais planter des patates... ;-)
Sérieusement, toute remarque constructive est la bienvenue !
Bonne prog' à toutes et à tous, et... carpe diem *
  • profite de l'instant

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
20
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2007

salut tous le monde
bon j'ai une image jpeg dans un scrollbor et j'amerais fair un scrolling automatique des aue la souris se raproche vers les bordures du scroll car les image sont grandes et le scrolling manuelle est fatigant
pleas help me
mon email est othbel@yahoo.fr
ok see you
Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
2
Je découvre cette source, par JMP77 qui viens le la citer dans le forum.
Il y a un mode de scrolling, Ô Japee, que tu n'évoque pas : c'est le scrolling ligne de pixel par ligne de pixel (tel un générique de cinéma).
Ne fonctionnant qu'avec les coordonnées absolues du scrolling, il peut être utile de l'atteler à la fonction GetScrollPos (qui ne fonctionne que si le ScrollBar concerné est visible)
On peut par exemple écrire dans un évènement OnTimer d'un TTimer (ou mieux d'un TMMTimer) :

PosScroll := GetScrollPos(RichEdit1.Handle,SB_VERT);
SendMessage(RichEdit1.Handle, WM_VSCROLL, SB_THUMBPOSITION + (PosScroll+1)*$10000, 0);

Ou si le ScrollBar s’est pas là :

SendMessage(RichEdit1.Handle, WM_VSCROLL, SB_THUMBPOSITION + PosScroll*$10000, 0);
Inc(PosScroll);

Ken@vo
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
5
Trop fort Japee.

Je cherchais justement cela et hop tu me sauves la mise.

Merci.

Note finale 10/10 biensure.
Messages postés
285
Date d'inscription
lundi 16 juin 2003
Statut
Membre
Dernière intervention
11 février 2018

J'ai testé...
On peut supprimer la ScrollBar (RichEdit.ScrollBars=None)
çà fonctionne tojours avec les boutons, avec les touches
fléchées du clavier et même avec la roulette de la souris.
Si l'on remplace le RichEdit par un Mémo, les boutons
Scrolling Direct sont sans effet. Les boutons Par ligne et
Par page fonctionnent mêmsans scrollbar mais pas les
touches du clavier.
Messages postés
1715
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
2 décembre 2019
3
Merci Bombela, j'avais de toute manière pas trop envie de planter des patates ;-)
Content d'avoir aidé un delphiste, à charge de revanche...
Bonne prog' !
Afficher les 6 commentaires

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.