HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

TRichEdit-ben lévő szöveg háttérszínének megadása


TRichEdit bővítése 4. rész

Példaprogram letöltése

4219 bájt

Sorozatunk mostani részében annak járunk utána, hogy miként tudakolható meg egy TRichEdit komponenstől, hogy melyik az első és az utolsó látható sora, mely aktuálisan még belefér a komponensbe. A komponens tartalmának görgetésével természetesen ezek az értékek változnak.

E két adat lekérdezéséhez készítünk két függvényt GetFirstVisibleLine és GetLastVisibleLine névvel. A GetFirstVisibleLine függvény megvalósításánál egyszerű a dolgunk, mivel a TRichEdit képes ezt az adatot egy egyszerű EM_GETFIRSTVISIBLELINE üzenet hatására elárulni számunkra.
function GetFirstVisibleLine(RichEdit: TRichEdit): integer;
begin
  result:=RichEdit.Perform(EM_GETFIRSTVISIBLELINE, 0, 0);
end;
Bonyolultabb helyzet áll elő az utolsó látható sor meghatározásánál. Itt első lépésként lekérdezzük a komponens területét az EM_GETRECT üzenet elküldésével. Az eredményt egy TRect-be kapjuk.
function GetLastVisibleLine(RichEdit: TRichEdit): integer;
begin
  RichEdit.Perform(EM_GETRECT, 0, Longint(@r));
  r.Left:=r.Left+1;
  r.Top:=r.Bottom-2;
Ezt követően meghatározzuk a TRichEdit-ben utolsóként látható karakter sorszámát.
  i:=RichEdit.Perform(EM_CHARFROMPOS, 0, integer(@r.topleft));
Az EM_EXLINEFROMCHAR üzenet elküldésével pedig megkapjuk, hogy hányadik sorban található a paraméterként megadott sorszámú karakter a TRichEdit-en belül.
  result:=RichEdit.Perform(EM_EXLINEFROMCHAR, 0, i);
end;
A függvények felhasználása egyszerű: csak meg kell adnunk paraméterként a kérdéses RichEdit komponenst. Visszatérési értékként az első, illetve az utolsó látható sornak a sorszámát adják a függvények.
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption:=RichEdit1.Lines[GetFirstVisibleLine(RichEdit1)];
  Label2.Caption:=RichEdit1.Lines[GetLastVisibleLine(RichEdit1)];
end;

Cikksorozat

#IDKategóriaCikk címeSorozat
3047WindowsAz XML bemutatása1. rész
3059WindowsAz XML bemutatása2. rész
3068WindowsAz XML bemutatása3. rész
3077WindowsAz XML bemutatása - deklarációk4. rész
3086WindowsAz XML bemutatása - MSXML, XSLT5. rész
3094WindowsAz XML bemutatása - DTD6. rész
3105WindowsXML adatok megjelenítése Excel-ben7. rész
3114WindowsDokumentum hivatkozások az XML-ben8. rész
3123WindowsXML adattípusok9. rész
3132WindowsXML adatok HTML oldalakon10. rész
3141WindowsXML Notepad11. rész


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