Richedit - kilka pytań

0

Witam was.
Mam sobie sformatowany tekst w Richedit napisany czcionką o różnej wielkości (tam gdzie tytuł to jest większa czcionka) i nie mogę sobie poradzić z kilkoma problemami.

  1. Jak rozpoznać że tekst nie mieści się w oknie? Gdy się nie mieści to pokazuje się Scrollbar pionowy (Vertical).

  2. Jak przenieść tekst z formatowaniem, który nie mieści się w Richedit do następnego Richedita, ewentualnie zapisać ten tekst do pamięci i wyświetlać go w tym samym Richedit za pomoca przycisku "Następny"?

  3. Jak policzyc ile posiada Richedit linii, gdy nie ma w nim tekstu przy standardowej wysokości czcionki (8)?
    Dzieliłem wysokość Richedit przez 8 ale wychodzą potem bzdury, gdy wpisze się tekst.

Ogólnie chcę zrobić z tekstu w Richedit coś w stylu późniejszych slajdów. Dzięki za odpowiedzi. [soczek]

0

Odpowiedź na pytanie numer 3:

var
  th, lh: integer;
begin
  Canvas.Font = RichEdit1.Font;
  th := Form1.Canvas.TextHeight('ĄŻŹĆQ|');
  lh := RichEdit1.Height div th;
  if(th mod lh = 0)then Dec(lh);
end;

Gdzie th to wysokość tekstu, lh to dostęna liczba linii w richedit

Co do pytanie numer 1,2:
W zdarzeniu np.: OnChange RichEdita sprawdzasz:

if(RichEdit1.Lines.Count > lh) then
begin
   RichEdit1.Lines.Delete(lh-1);
   RichEdit2.setFocus();
end;
</cpp>

1 użytkowników online, w tym zalogowanych: 0, gości: 1