Bonjour a tous,
Je chercher a faire défilé la ScrollBar verticale de mon RichEdit, visa une boucle While ... Do.
Pour cela je récupère les informations de la ScrollBar du RichEdit visa le TScrollInfo.
Mon souci réside dans le fait que ma boucle While ... Do ne se termine jamais car la valeur (ScrollInfo.nPos) n'a pas atteint la valeur (ScrollInfo.nMax).
Il y a un moment où la barre de défilement verticale atteint sa position maximale (Ont n'est bien arrivé en bas du RichEdit), L'application est bloquée, car la valeur (ScrollInfo.nPos) n'a pas atteint la valeur (ScrollInfo.nMax).
Avez-vous une petite idée de d'où peut venir le problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 { ScrollAutoClick } procedure TFReading.ScrollAutoClick(Sender: TObject); var ScrollInfo: TScrollInfo; begin with ScrollInfo do begin cbSize := SizeOf(Self); fMask := SIF_POS or SIF_RANGE; end; GetScrollInfo(DocReading.Handle, SB_VERT, ScrollInfo); while ScrollInfo.nPos < ScrollInfo.nMax do begin SendMessage(RichEdit.Handle, WM_VSCROLL, SB_LINEDOWN, 0); DocReading.Update; Sleep(500); Application.ProcessMessages; with ScrollInfo do begin cbSize := SizeOf(Self); fMask := SIF_POS or SIF_RANGE; end; GetScrollInfo(RichEdit.Handle, SB_VERT, ScrollInfo); end; end;
Merci beaucoup.
Partager