Connaitre le nombre de ligne visible dans un TMemo

Pour dénombrer les lignes visibles d'un TMEMO:
=================================

function LineasVisibles(Memo: TMemo): integer;
Var
Oldfont : HFont; {the old font}
DC : THandle; {Device context handle}
i : integer; {loop var iable}
Tm : TTextMetric; {text metric structure}
TheRect : TRect;
begin
DC := GetDC(Memo.Handle);
try
OldFont := SelectObject(DC, Memo.Font.Handle);
try
GetTextMetrics(DC, Tm);
Memo.Perform(EM_GETRECT, 0, longint(@TheRect));
Result := (TheRect.Bottom - TheRect.Top) div
(Tm.tmHeight + Tm.tmExternalLeading);
finally
SelectObject(DC, Oldfont);
end;
finally
ReleaseDC(Memo.Handle, DC);
end;
end;

POUR rendre visible la dernièr eligne d'un TMEMO:
===================================
Memo1.SelStart:=Length(Memo1.Lines.Text);
Memo1.SelLength:=0;


PLACER LE CURSEUR A UN EMPLACEMENT PRECIS D UN TMemo:
====================================================
var
Row,Col:integer;
i:integer;
Cuenta:integer;
begin
LockWindowUpdate(Memo1.Handle);
Row:=15;
Col:=5;
Nb:=0;
If row <= Memo1.Lines.Count then
begin
i:=0;
while i < row do
begin
Inc(Nb,2+Length(Memo1.Lines[i]));
Inc(i);
Memo1.Perform(EM_SCROLL,SB_LINEDOWN,0);
end;
if Col <= Length(Memo1.Lines[i]) then
begin
Inc(Nb,Col);
Memo1.SelStart:=Nb;
end;
end;
LockWindowUpdate(0);
Memo1.Refresh;
Memo1.SetFocus;
end;
Ajouter un commentaire
Pseudo
Adresse email
Site internet (optionnel)
Votre commentaire
Fiche de l'article
Mise a jour25/09/2004
VisualisationVu 1984 fois
PublicInternaute zz
CategorieDelphi - Trucs et astuces - Surface
Auteur de l'article
SwissDelphiCenter SwissDelphiCenter
connecté le 02/11/2011
329 articles dans la section
Contacter l'auteur