HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

RTF szerkesztő a TRichEdit komponenshez


RTF 2. rész

Példaprogram letöltése

15463 bájt

Ezen a héten tovább fejlesztjük a múltkor elkezdett RTF szerkesztő ablakunkat, melyet azért hozunk létre, hogy szerkesztési időben a TRichEdit komponens Lines property-ében ne csak a szöveget lehessen begépelni, hanem akár formázni is lehessen azt, vagy egy már létező RTF állományt betölteni.
A továbbfejlesztés révén most már a betűtípust, betűméretet, illetve színét is beállíthatjuk az adott szövegnek, vagy akár igazíthatjuk is tetszés szerint a bekezdéseket, illetve felsorolás jellel is elláthatjuk az egyes sorokat.

A mellékelt példaprogram megnyitása előtt az RTFEditor02.pas-ban lévő objektumot telepítenie kell a Delphi alá, mintha az egy komponens lenne.

A további funkciókhoz további nyomógombokat helyezünk fel az RTF szerkesztő Form-jára.

A bekezdés igazításához három gomb tartozik, így jobbra, balra, vagy a középre való igazítást kérhetjük majd. Ehhez a TRichEdit Paragraph objektum Alignment property-ének kell értéket adnunk. Az értékadáshoz egy apró trükköt is felhasználunk: nem hozunk létre mind a három gombhoz egy-egy OnClick eseménykezelőt, hanem mindegyiket egyhez rendeljük hozzá. Azt, hogy mikor melyik igazítást kell megadnunk úgy oldjuk meg, hogy az adott gomb Tag property-ébe írjuk be a kívánt kódot, majd a gomb lenyomásakor ezt adjuk értékül az Alignment property-nek.
procedure TRTFEditorForm.ToolButton10Click(Sender: TObject);
begin
  RichEdit1.Paragraph.Alignment:=
       TAlignment(TToolButton(Sender).Tag);
end;
Ha felsorolást szeretnénk beállítani, akkor szintén a Paragraph objektumra lesz szükségünk. Értékadásra a Numbering property-t használhatjuk. Ennek két értéke lehet attól függően, hogy felsorolt sorokat szeretnénk vagy sem, így a nyomógomb lenyomási állapotát konvertálva a Numbering property TNumberingStyle típusára már meg is oldottuk a problémát.
procedure TRTFEditorForm.ToolButton14Click(Sender: TObject);
begin
  RichEdit1.Paragraph.Numbering:=
      TNumberingStyle(ToolButton14.Down);
end;
A betűszín megadásához egy TColorDialogs komponenst használunk fel.
procedure TRTFEditorForm.ToolButton15Click(Sender: TObject);
begin
  ColorDialog1.Color:=SelectedText.Color;
  if ColorDialog1.Execute then begin
    SelectedText.Color:=ColorDialog1.Color;
  end;
end;
A betűtípus, illetve méret választásához egy-egy TComboBox komponenst használunk. Ezeknek tartalmát a Form OnCreate eseményénél töltjük fel.
procedure TRTFEditorForm.FormCreate(Sender: TObject);
var
  i: integer;
begin
  ComboBox1.Items.Assign(Screen.Fonts);
  for i:=6 to 72 do begin
    ComboBox2.Items.Add(IntToStr(i));
  end;
end;
Az RTF szerkesztő ablakunk most már minden fontosabb formázási lehetőséget tartalmaz. Egy szépséghibája még mindig van azonban az alkalmazásunknak: ez pedig az, hogy a project újbóli megnyitása esetén "elfelejti", hogy miképpen formáztuk meg a szöveget. A jövő heti cikkben megoldjuk, hogy a formázási információk mentésre kerüljenek az adott Form DFM állományába és így már nem lesz "feledékeny" a Delphi.

Cikksorozat



Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 43. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |