Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Richedit: prüfen ob verticale scrollbar sichtbar ist (https://www.delphipraxis.net/15415-richedit-pruefen-ob-verticale-scrollbar-sichtbar-ist.html)

Pseudemys Nelsoni 28. Jan 2004 13:14


Richedit: prüfen ob verticale scrollbar sichtbar ist
 
hoi,

meine scrollbar im richedit erscheint erst sobald der text über dem sichtbarem hinaus gehen würde, wie prüf ich im onchange nun ob die scrollbar da ist oder nicht?

WtF 28. Jan 2004 13:27

Re: Richedit: prüfen ob verticale scrollbar sichtbar ist
 
Hi,
also wenn dir die größe von dem Richedit bekannt ist, kannst du es einfach so lösen:
Sagen wir ab Zeile 6 wird die scrollbar eingeblendet (das kannst du ja dann ausprobieren):

Code:
procedure TForm1.RichEdit1Change(Sender: TObject);
begin
if RichEdit1.Lines.Count>5 then showmessage('scrollbar ist da');
end;
Mfg

Pseudemys Nelsoni 28. Jan 2004 15:05

Re: Richedit: prüfen ob verticale scrollbar sichtbar ist
 
das fenster ist vergrösserbar, daher brauch ich eine function die das "bemerkt" wann die scrollbar erscheint, aber danke

Anchoa 28. Jan 2004 15:50

Re: Richedit: prüfen ob verticale scrollbar sichtbar ist
 
Hi
probier es mal mit GetScrollInfo.. die Funktion liefert einen Bool zurück... wenn keine Werte ermittelt worden liefert sie False.
Vielleicht klappts ja damit.
Gruß

Pseudemys Nelsoni 28. Jan 2004 16:11

Re: Richedit: prüfen ob verticale scrollbar sichtbar ist
 
hoi, ich hab es mal mit folgendem versucht:

Delphi-Quellcode:
procedure TForm1.RichEdit1Change(Sender: TObject);
Var
  si: TScrollInfo;
begin
  si.cbSize := sizeof(si);
  si.fMask := SIF_ALL;
  If GetScrollInfo(RichEdit1.Handle, SB_VERT, si) Then
  begin
    If si.nPos + si.nPage >= si.nMax Then
      SendMessage(Richedit1.Handle, WM_VSCROLL, SB_BOTTOM, 0);
  end
  else
    SendMessage(Richedit1.Handle, WM_VSCROLL, SB_BOTTOM, 0);
end;
es geht darum das die scrollbar am anfang noch nicht existiert, sondern erst wenn der text überläuft erscheint sie, wenn weiterer text hinzugefügt wird, wird aber nicht mit gescrollt, erst wenn ich die scrollbar einmal nach unten geschoben habe, wieso funktionietr das nicht von anfang an das die scrollbar gleich ganz unten ist?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz