![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как автоматически убирать/показывать полосы прокрутки в TMemo? [D5]
TechnoDreamer © (2004-07-08 21:48:00)Хочется что полоса прокрутки появлялась только если текст не помещается в Мемо. Если ставить ScrollBars в ssNone, ssVertical то она есть всегда, даже если текст есть. Что делать?
TechnoDreamer (2004-07-09 11:08:00) [1]Да уж не сильно хороший вариант, особенно если учесть что размер мемо меняется с размером формы. Видимо придется всё таки в ручную считать. Странно, что такая возможность не реализована, ведь в большинство программ ведут себя именно так.
GanibalLector (2004-07-09 01:28:00) [2]криво,но хоть что-то...
procedure TForm1.Memo1Change(Sender: TObject);
begin
if Memo1.Lines.Count>5 then Memo1.ScrollBars:=ssVertical
else Memo1.ScrollBars:=ssNone;
end;
KilkennyCat (2004-07-09 00:47:00) [3]можно и вручную.. посмотреть текущее количество линий у Мемо, посмотреть шрифт, умножить линии на высоту шрифта плюс поправка и сравнить с высотой мемо... Единственный нюанс: как только появится скролл - линий станет больше, и надо либо еще вводить поправку на это, или смириться с задержкой исчезновения скролла, когда текста меньше. Но есть способ и точнее, ежели покопаться около TextOut