Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 07.04.2013, 14:36   #1
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию Видимые строки TMemo

Как узнать номер первой и последней отображаемой строки (имеется ввиду индекс Lines) в Memo?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума
Старый 07.04.2013, 14:54   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Первая
Код:
  Label1.Caption:=IntToStr(Memo1.Perform(EM_GETFIRSTVISIBLELINE, 0, 0));
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума
Старый 07.04.2013, 15:51   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Код:
function LinesVisible(): integer;
Var

     OldFont : HFont;
     Hand : THandle;
     TM : TTextMetric;
     Rect  : TRect;
     tempint : integer;

   begin

     Hand := GetDC(Handle);

     try
       OldFont := SelectObject(Hand, Font.Handle);

       try
         GetTextMetrics(Hand, TM);
         Perform(EM_GETRECT, 0, longint(@Rect));
         tempint := (Rect.Bottom - Rect.Top) div
            (TM.tmHeight + TM.tmExternalLeading);

       finally
         SelectObject(Hand, OldFont);

       end;

     finally
       ReleaseDC(Handle, Hand);

     end;

     Result := tempint;
   end;
Сдернул код с DRKB , выдает количество видимых строк. Тему можно закрывать.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
*.ini, TMemo, Перенос строки skalt12 Общие вопросы Delphi 11 27.08.2010 14:34
Добавление в TMemo, последней строки из TStringList OPF_Nik Помощь студентам 3 31.01.2010 17:35
Не получается удалить строки из TMemo RIO Общие вопросы Delphi 2 03.12.2009 01:07
Строки в TMemo SanekIrk Компоненты Delphi 8 14.05.2009 11:34
TMemo добавление строки forumu Компоненты Delphi 5 22.11.2007 20:02