Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
ВнизPanel Найти похожие ветки
← →
Lexann (2002-03-04 21:43) [0]Как сделать чтобы появляющаяся в Panel строчка при большем объеме чем Panel стала меньшей ?
← →
lipskiy (2002-03-05 00:18) [1]Может быть можно и проще, но я делаю примерно так.
Допустим на панели лежит лейбл.
На ресайз панели вешаем обработчик:
procedure TForm1.Panel1CanResize(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean);
var fw:integer;
label ex, up;
begin
Label1.Canvas.Font:= Label.Font;
fw:= Label1.Canvas.TextWidth(Label1.Caption);
if NewWidth > fw then goto up;
// уменьшаем шрифт, пока не влезет
repeat
Label1.Canvas.Font.Size:= Label1.Canvas.Font.Size-1;
fw:= Label1.Canvas.TextWidth(Label1.Caption);
until NewWidth > fw;
Label1.Font.Size:= Label1.Canvas.Font.Size;
goto ex;
// увеличиваем шрифт, пока не вылезет
up:
repeat
Label1.Canvas.Font.Size:= Label1.Canvas.Font.Size+1;
fw:= Label1.Canvas.TextWidth(Label1.Caption);
until NewWidth < fw;
Label1.Font.Size:= Label1.Canvas.Font.Size-1;
ex:
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.012 c