cześć riebiata (ostatnio siedziałem na ruskich stonach o Delphi)
Jak zrobić, żeby RichEdita można było wypełnić tekstem tylko w widocznym obszarze - czyli piszemy sobie, piszemy i stop dalej nie można bo okienko się skończyło.
Myślałem o MaxLength ale jak tu sprawdzić ile wlezie różnych znaków?
W proporties coś ustawić?
Mozna sprawdzic... np. dajesz wordwrap na true i wpisujesz znaki (najlepiej takie same) potem w delphi np. pod button dajesz showmessage(length(memo.text)); i masz maxlength ;p
Ej chiba to na nic - RichEdit ma być dowolnych rozmiarów i właśnie chodzi o to jak z poziomu kodu uchwycić moment zanim zacznie się przewijać, czyli uzyskać np coś takiego:
function ToJestOstatniZnakWpisanyDoRichEdita:Boolean;
i podczas pisania w KeyUp RichEdita:
if ToJestOstatniZnakWpisanyDoRichEdita then
ShowMessage('Wpisałeś ostatni znak');
przelicz marginesy i pomnoz przez ilosc linii... pomyśl troche
Canvas ma cos takiego jak textwidth (moze tez i heigh), ustawiasz ta sama czcionke, przypisujesz tekst z RE i porownujesz z rozmiarami.
Może zdarzenie OnResizeRequest coś da?
Wielkie dzięki, to jest właśnie to!
procedure TForm1.RichEdit1ResizeRequest(Sender: TObject; Rect: TRect);
begin
if Rect.Bottom>RichEdit1.BoundsRect.Bottom then
ShowMessage('koniec pisania');
end;