Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

вот плохо что тут сообщений нельзя редактировать - нажал не ту кнопычку и теперь это не код, а подчеркнутый текст :(


Наверх

Титульная страница Поиск, карта сайта Написать письмо