Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Размер текста [D7, XP]


{ент ©   (2007-11-21 15:47:00) 

У меня есть memo(размер мемо не изменяется) и в нём текст. Мне нужно если текст выходит за пределы видимости то размер текста уменьшался так что бы он весь был виден. Или нужно сделать полосу прокрутки. Помогите мне пожалуйста, я пишу программу для школьной научной выставки.


Amoeba   (2007-11-21 16:49:00) [1]


> Мне нужно если текст выходит за пределы видимости то размер
> текста уменьшался

И до какого предела ему уменьшаться? Вобщем, бред...
Так что просто настрой нужным образом у Memo св-ва WordWrap и/или ScrollBars, и будет тебе счастье.


Johnmen   (2007-11-21 16:10:00) [2]


> @!!ex ©   (21.11.07 16:00) [4]
> WordWrap не меняет размер текста.

Пофигу :)


@!!ex   (2007-11-21 16:00:00) [3]

> [1] Johnmen ©   (21.11.07 15:54)


> [2] Amoeba ©   (21.11.07 15:54)

WordWrap не меняет размер текста.


@!!ex   (2007-11-21 15:59:00) [4]

1) Скролл:
Memo.ScrollBars:=ssBoth;

2) Изменение размера. Что-то типа:
OnChange:
var
 S:String;
 Size:TSize;
begin
 S:=GetMaxString; //Получаем самую длинною строку, как - сам думай, методов масса.
 while Form.Canvas.TextWidth(S)>Memo.Width do begin
   Memo.Font.Size:=Memo.Font.Size-1;
   Form.Canvas.Font:=Memo.Font;
 end;
end;

Кэнвасу формы присваиваем шрифт Memo для того, чтобы можно было узнать ширину текста, а это можно сделать только через DC, которого у Memo Нету.
По хорошему нужно создавать отдельный DC и с ним работать, пользуя процедуру:
GetTextExtentPoint32


Johnmen   (2007-11-21 15:54:00) [5]

WordWrap


Amoeba   (2007-11-21 15:54:00) [6]

Настрой нужным образом у Memo св-ва WordWrap и/или ScrollBars


Наверх

Титульная страница Поиск, карта сайта Написать письмо