![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отображаемый в Label текст [D7, Win95/98, WinXP]
Ilg © (2005-11-08 16:09:00)Здравствуйте!
Скажите можно ли каким-нибудь способом получить текст Label (Caption) в том виде, как он отображается? Поясню: допустим, установлено св-во WordWrap=true, и текст Caption отображается в несколько строк, хотя на самом деле представляет одну длинную строку. Как узнать кол-во строк при отображении?
Заранее, Большое Спасибо!
Суслик (2005-11-09 10:56:00) [1]я бы на всякий случай перед вызовом TextHeight явно установил font для canvas.
Leonid Troyanovsky (2005-11-08 16:50:00) [2]
> Ilg (08.11.05 16:09)
> установлено св-во WordWrap=true, и текст Caption отображается
> в несколько строк, хотя на самом деле представляет одну
> длинную строку. Как узнать кол-во строк при отображении?
Попробуй примерно так:
type
TCrackLabel = class(TLabel);
procedure TForm1.Button1Click(Sender: TObject);
var
arect: TRect;
FontHeight: Longint;
begin
FontHeight:=Label1.Canvas.TextHeight('Y');
TCrackLabel(Label1).DoDrawText(arect, DT_CALCRECT);
Caption := IntToStr(aRect.Bottom div FontHeight);
end;
--
Regards, LVT.