Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.17;
Скачать: CL | DM;

Вниз

Номер последней видмиой строки в RichEdit е...   Найти похожие ветки 

 
МИФИст ©   (2002-09-03 21:45) [0]

Всем привет! Как определить номер первой видимой строки я знаю (EM_GETFIRSTVISIBLELINE), а вот как найти последнюю или количество видимых не знаю. Помогите, МАСТЕРА! =)


 
MBo ©   (2002-09-04 06:41) [1]

procedure TForm1.Button1Click(Sender: TObject);
const
EM_EXLINEFROMCHAR=WM_USER+54;
var Pt:TPoint;
N:Integer;
begin
Pt.X:=1;
Pt.Y:=Richedit1.ClientHeight-1;
N:=SendMessage(RichEdit1.Handle,EM_CHARFROMPOS,0,LParam(@Pt));
N:=SendMessage(RichEdit1.Handle,EM_EXLINEFROMCHAR,0,N);
Caption:=IntToStr(N);//последняя строка
end;


 
МИФИст ©   (2002-09-04 12:25) [2]

>MBo спасибо, что откликнулся, я вчера накропал один вариант вроде работает, только почему то иногда сбивается, глянь может ошибка где:

procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);
var FVL,RFVL,CFP,LVL: Integer;
R: TRect;
begin
Form1.RichEdit1.Perform(EM_GETRECT,0,LongInt(@R));
CFP:=Form1.RichEdit1.Perform(EM_CHARFROMPOS,0,Integer(@R.BottomRight));
LVL:=Form1.RichEdit1.Perform(EM_LINEFROMCHAR,Lo(CFP),0);
FVL:=Form1.RichEdit1.Perform(EM_GETFIRSTVISIBLELINE,0,0);
ShowMessage(IntToStr(FVL)+":"+IntToStr(LVL));
end;


 
МИФИст ©   (2002-09-04 12:40) [3]

Вот я сам посмотрел и остановился на этом варианте, спасибо, MBo.

procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);
var FVL,CFP,LVL: Integer;
R: TRect;
Pt:TPoint;
const
EM_EXLINEFROMCHAR=WM_USER+54;
begin
Form1.RichEdit1.Perform(EM_GETRECT,0,LongInt(@R));
PT:=Point(R.Left,R.Bottom);
CFP:=Form1.RichEdit1.Perform(EM_CHARFROMPOS,0,LParam(@Pt));
LVL:=Form1.RichEdit1.Perform(EM_EXLINEFROMCHAR,0,CFP);
FVL:=Form1.RichEdit1.Perform(EM_GETFIRSTVISIBLELINE,0,0);
ShowMessage(IntToStr(FVL)+":"+IntToStr(LVL));
end;


 
MBo ©   (2002-09-04 12:41) [4]

EM_LINEFROMCHAR для richedit плохо, поэтому приходится
EM_EXLINEFROMCHAR


 
MBo ©   (2002-09-04 12:42) [5]

BTW, в методе формы ни к чему писать Form1.



Страницы: 1 вся ветка

Текущий архив: 2002.10.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
7-56361
SanyaLaz
2002-08-09 10:09
2002.10.17
подскажите алгоритм или компоненту для построения графиков


14-56266
malkolinge
2002-09-21 20:47
2002.10.17
Голосовое общение !


3-55933
SOFTMASTER
2002-09-18 10:09
2002.10.17
ПОМОГИТЕ!!!!


14-56332
Alex Shulg
2002-09-24 17:24
2002.10.17
Создание инсталяции с установкой BDE


3-55916
realship
2002-09-26 18:05
2002.10.17
Помогите 1С+Delphi