HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Felső- és alsóindex használata a TRichEdit komponensben


Példaprogram letöltése

4250 bájt

A TRichEdit komponens bizony arra is képes, hogy általunk megadott szövegrészeket felső-, illetve alsóindexbe helyezve jelenítsen meg. Más feladatunk ettől kezdve nem marad, mint hogy rábírjuk erre.

Hozzunk létre egy olyan típust, melyben meghatározhatjuk hogy felsőindex, alsóindex, vagy normál nézetet kívánjuk-e majd használni.
type
  TCharacterFormat = (CF_SUPERSCRIPT, CF_SUBSCRIPT, CF_NORMAL);
Ezt követően jelöljünk ki egy szövegrészt a TRichEdit-ben, majd hívjuk meg a SetCharFormat eljárásunkat, paraméterként átadva a TRichEdit komponenst, melyben a beállítást szeretnénk elvégezni, illetve a beállítandó formát.
procedure TForm1.Button1Click(Sender: TObject);
begin
  SetCharFormat(RichEdit1, CF_SUPERSCRIPT);
end;
Most már csak azt kell megvizsgálnunk, hogy mi is történik a SetCharFormat eljárásban. A TRichEdit komponensnek egy EM_SETCHARFORMAT üzenetet kell küldenünk, melyben megadunk egy TCharFormat struktúrát. Ebben írjuk le, hogy mit kell tennie a komponensnek. A dwMask mezőben a CFM_OFFSET értéket adjuk meg. Ez tudatja a komponenssel, hogy az yOffset mezőben lévő érték alapján függőleges irányban el kell tolnia az aktuálisan kijelölt szöveget. Most a választott műveletnek megfelelően meghatározzuk ezt az értéket és tároljuk az yOffset-ben.
procedure SetCharFormat(RichEdit: TRichEdit; CharacterFormat: TCharacterFormat);
var
  f: TCharFormat;
begin
  FillChar(f, SizeOf(TCharFormat), 0);
  with f do begin
    cbSize:=SizeOf(TCharFormat);
    dwMask:=CFM_OFFSET;
    case CharacterFormat of
      CF_SUPERSCRIPT: yOffset:=80;
      CF_SUBSCRIPT: yOffset:=-80;
      CF_NORMAL: yOffset:=0;
    end;
  end;
Végül már csak egy üzenet küldése van hátra, mely elvégzi a szükséges beállítást.
  RichEdit.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Longint(@f));
end;

Cikksorozat

#IDKategóriaCikk címeSorozat
1488DelphiMS SQL tárolt eljárások1. rész
1499DelphiMS SQL tárolt eljárások2. rész
1507DelphiMS SQL tárolt eljárások3. rész
1519DelphiMS SQL tárolt eljárások4. rész
1526DelphiMS SQL tárolt eljárások5. rész
1537DelphiMS SQL tárolt eljárások6. rész
1546DelphiMS SQL tárolt eljárások7. rész
1553DelphiMS SQL tárolt eljárások8. rész
1564DelphiMS SQL tárolt eljárások9. rész
1573DelphiMS SQL tárolt eljárások10. rész
1582DelphiMS SQL tárolt eljárások11. rész
1591DelphiMS SQL tárolt eljárások12. rész
1600DelphiMS SQL tárolt eljárások13. rész
1609DelphiMS SQL tárolt eljárások14. rész
1617DelphiMS SQL tárolt eljárások15. rész
1626DelphiMS SQL tárolt eljárások16. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 453. 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 |