![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TextHeight без TCanvas
ZEE © (2003-11-04 15:09:00)
Привет народ.
Как средствами WinApi определить высоту текстовой строки
т.е. аналог TextHeight у TCanvas
полазил в Graphics.pas - нашел там исходники этой ф-ции:
function TCanvas.TextExtent(const Text: string): TSize;
begin
RequiredState([csHandleValid, csFontValid]);
Result.cX := 0;
Result.cY := 0;
Windows.GetTextExtentPoint32(FHandle, PChar(Text), Length(Text), Result);
end;
function TCanvas.TextHeight(const Text: string): Integer;
begin
Result := TextExtent(Text).cY;
end;
и все вроде бы ОК, но непонятно что делает RequiredState, без нее не работает, а как у себя сделать что-нить подобное непонятно.
Вобщем F1 плиз
ZEE (2003-11-04 15:16:00) [1]
> Игорь Шевченко ©
да спасибо - уже видел - все получилось
просто в FHandle надо было HDC липить, а я HWND запихивал...
Игорь Шевченко (2003-11-04 15:15:00) [2]
ZEE © (04.11.03 15:11)
В соседней ветке я привел код фцнкции для определения ширины строки, если заменить Result := TextSize.cx на Result := TextSize.cy, то получится высота.
ZEE (2003-11-04 15:11:00) [3]
вот плохо что тут сообщений нельзя редактировать - нажал не ту кнопычку и теперь это не код, а подчеркнутый текст :(