Prva i zadnja linija koja se vidi u TMemo?

Prva i zadnja linija koja se vidi u TMemo?

offline
  • Pridružio: 26 Feb 2004
  • Poruke: 55
  • Gde živiš: Banja Luka

Kako da dobijem prvu i zadnju liniju koja se vidi uTMemo-u?
Kako da scroll-am 2 mema u isto vrijeme?
Nikako nisam mogao da dobijem nista bolje od ovoga
procedure DefaultHandler(var Message); message WM_VSCROLL;
tj., ako se caret-om ide gore - dolje ta procedura ne daje dobru informaciju o promjeni polozaja scrollbar-a.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • arek  Male
  • Novi MyCity građanin
  • Alex
  • Programer
  • Pridružio: 07 Jul 2009
  • Poruke: 6

Pod scrollovanjem da li mislis na onaj scrollbar pored ili na to sa caretom?

Ako mislis na scrollbar samo stavi jedan tajmer koji izjednacava vrednosti scrollbara u ta 2 TMemo u intervalu koji ti treba.

Isto za prvu i zadnju liniju koda bi trebao raditi svoju kontrolu od TMemo, posto tesko da ces moci izvuci informacije te iz obicnog TMemo-a. Jedino ako si jako dobar sa matematikom a i tada je pitanje da li ce uvijek raditi.



offline
  • Pridružio: 26 Feb 2004
  • Poruke: 55
  • Gde živiš: Banja Luka

Napisano: 29 Sep 2010 19:01

Mislim na oboje(obadvoje).
Dosao sam do slicnog zakljucka, pa cu tako i nastaviti.

Znas sta me interesuje, da li treba pritiskati ovo lijevo dugme
"Svidja mi se", da li to nesto znaci(do sada ga nisam primjetio).
Inace cim postavim pitanje, a ljudi se trude da odgovore, budem iskreno zahvalan.

Dopuna: 30 Sep 2010 18:27

Nasao sam da radi funkcija RE_GetFirstVisibleLine

function RE_GetLastVisibleLine(RichEdit: TRichEdit): Integer;
const
EM_EXLINEFROMCHAR = WM_USER + 54;
var
r: TRect;
i: Integer;
begin
{
The EM_GETRECT message retrieves the formatting rectangle
of an edit control.
}
RichEdit.Perform(EM_GETRECT, 0, Longint(@r));
r.Left := r.Left + 1;
r.Top := r.Bottom - 2;
{
The EM_CHARFROMPOS message retrieves information about the character
closest to a specified point in the client area of an edit control
}
i := RichEdit.Perform(EM_CHARFROMPOS, 0, Integer(@r.topleft));
{
The EM_EXLINEFROMCHAR message determines which
line contains the specified character in a rich edit control
}
Result := RichEdit.Perform(EM_EXLINEFROMCHAR, 0, i);
end;

{
Sending the EM_GETFIRSTVISIBLELINE message to a multi-line edit control
finds out which line is the first line visible.
This is the line that is currently displayed at the top of the control.
}

function RE_GetFirstVisibleLine(RichEdit: TRichEdit): Integer;
begin
Result := RichEdit.Perform(EM_GETFIRSTVISIBLELINE, 0, 0);
end;

Ko je trenutno na forumu
 

Ukupno su 3053 korisnika na forumu :: 50 registrovanih, 7 sakrivenih i 2996 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 5623 - dana 13 Dec 2025 19:56

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 10x10.9, AOE, Apis Dr, Belac91, blue, bokicacar, Brankojle, Bubi, cakija, Cigi, cole77, crazydkure, cyprus, Djokislav, djuradj, DuškoMraz, ekser222, esx66, Gaga_89, gale48, Hardenberg, ILGromovnik, JOntra, Koca Popovic, larix, lcc, ljuba.b, Magistar78, mačković, mgolub, Michellefromrezistance, milanovic, mrvica78, nekdo, nevjerna beba, pavle_pzs, Petarvu, PMsnow, proka89, raptorsi, redstar011, Remarqe, Savantije, synergia, Veless, voja64, vuksa72, zeo, zlatkoa987, Žrnov