Форум: "Начинающим";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];
ВнизРазмер текста Найти похожие ветки
← →
{ент (2007-11-21 15:47) [0]У меня есть memo(размер мемо не изменяется) и в нём текст. Мне нужно если текст выходит за пределы видимости то размер текста уменьшался так что бы он весь был виден. Или нужно сделать полосу прокрутки. Помогите мне пожалуйста, я пишу программу для школьной научной выставки.
← →
Johnmen © (2007-11-21 15:54) [1]WordWrap
← →
Amoeba © (2007-11-21 15:54) [2]Настрой нужным образом у Memo св-ва WordWrap и/или ScrollBars
← →
@!!ex © (2007-11-21 15:59) [3]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
← →
@!!ex © (2007-11-21 16:00) [4]> [1] Johnmen © (21.11.07 15:54)
> [2] Amoeba © (21.11.07 15:54)
WordWrap не меняет размер текста.
← →
Johnmen © (2007-11-21 16:10) [5]
> @!!ex © (21.11.07 16:00) [4]
> WordWrap не меняет размер текста.
Пофигу :)
← →
Amoeba © (2007-11-21 16:49) [6]
> Мне нужно если текст выходит за пределы видимости то размер
> текста уменьшался
И до какого предела ему уменьшаться? Вобщем, бред...
Так что просто настрой нужным образом у Memo св-ва WordWrap и/или ScrollBars, и будет тебе счастье.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c