
06.03.2010, 19:41
|
 |
Администратор
|
|
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,553
Версия Delphi: Delphi 7
Репутация: выкл
|
|
Цитата:
Сообщение от Ama
Добрый вечер всем!!! Есть ли у кого нидь компонент TLabel, который при сокращении текста, не тупо обрезает, а ставит троеточие, например : 'эвамиваияваивяияваиакку', а обрезанный : 'эвамиваиява...' ? Ну чтоб сокращение (троеточие) мог ставить либо в начале, либо в середине, либо в конце
|
Код:
function TForm3.end_points(lbl: TLabel): string;
var
s: string;
i: integer;
begin
s:=lbl.Hint;
//
if lbl.Canvas.TextWidth(s)<=lbl.Width
then
begin
result:=s;
lbl.ShowHint:=false;
Exit;
end;
//
lbl.Caption:='';
//
for i:=1 to Length(s) do
begin
lbl.Caption:=lbl.Caption+s[i];
if (lbl.Canvas.TextWidth(lbl.Caption)+16>=lbl.Width)
then
begin
result:=lbl.Caption+'...';
lbl.ShowHint:=true;
Break;
end;
end;
end;
|