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

Вниз

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

 
абырвалГ   (2004-02-08 15:34) [0]

Как зделать так, чтоб текст (допустим из Edit"a) вставлялся в последнюю видемую строку в Memo, Memo меняет размер т.е. последняя строка может быть по-разному!


 
Бином Ньютоныч   (2004-02-08 17:19) [1]

function GetBottomLine(Memo: TMemo): integer;
var
n: integer;
R: TRect;
Old: Thandle;
DC: HDC;
Sz: TSize;
begin
if Memo.Lines.Count = 0 then
begin
Result:=-1;
Exit;
end;
n:=SendMessage(Memo.Handle, EM_GETFIRSTVISIBLELINE, 0, 0);
SendMessage(Memo.Handle, EM_GETRECT, 0, integer(@R));
DC:=GetDC(Memo.Handle);
Old:=SelectObject(DC, Memo.Font.Handle);
GetTextExtentPoint32(DC, "W", 1, Sz);
SelectObject(DC, Old);
ReleaseDC(Memo.Handle, DC);
Result:=((R.Bottom - R.Top) + 1) div Sz.cy + n - 1;
if Result >= Memo.Lines.Count then
Result:=Memo.Lines.Count - 1;
end;


 
MBo ©   (2004-02-08 17:46) [2]

n:=Memo1.Perform(EM_CharFromPos,0,MakeLParam(1,Memo1.ClientHeight-Memo1.Font.Size)) shr 16;


 
Бином Ньютоныч   (2004-02-08 20:41) [3]

MBo ©

А ты попробуй [2] изменяя высоту Memo по 1 пикселю в пределах высоты строки. А потом еще размером и именем шрифта поиграй для полноты ощущений:)


 
MBo ©   (2004-02-09 06:20) [4]

>Бином Ньютоныч
Угу, может быть нестыковочка ;)
Хотя при нескольких тестах мне не удалось ее добиться. Но не исключено.



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-53453
JediMaster
2004-02-06 13:00
2004.02.17
Простые числа


3-53385
13-ый
2004-01-18 17:36
2004.02.17
Сортировка по 2-м направлениям


1-53459
Goida
2004-02-06 13:54
2004.02.17
Стоит ли освобождать объекты WordApplication и WordDocument?


14-53704
Ihor Osov'yak
2004-01-29 19:22
2004.02.17
PSAPI.dll в NT4 после какого SP штатно присутствует?


1-53571
Relaxxx
2004-02-07 19:00
2004.02.17
Проблемка, нужен быстрый TreeView