RichEdit défilement Scrollbar
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).
Code:
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; |
Avez-vous une petite idée de d'où peut venir le problème ?
Merci beaucoup.