Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.05;
Скачать: CL | DM;

Вниз

TextHeight без TCanvas   Найти похожие ветки 

 
ZEE ©   (2003-11-04 15:09) [0]

Привет народ.
Как средствами 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:11) [1]

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


 
Игорь Шевченко ©   (2003-11-04 15:15) [2]

ZEE © (04.11.03 15:11)

В соседней ветке я привел код фцнкции для определения ширины строки, если заменить Result := TextSize.cx на Result := TextSize.cy, то получится высота.


 
ZEE ©   (2003-11-04 15:16) [3]

> Игорь Шевченко ©
да спасибо - уже видел - все получилось
просто в FHandle надо было HDC липить, а я HWND запихивал...



Страницы: 1 вся ветка

Текущий архив: 2004.01.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
6-12030
Fast
2003-11-03 15:31
2004.01.05
Параметры сети


14-12036
Mike Kouzmine
2003-12-09 13:18
2004.01.05
Сегодня играет Локомотив.


1-11894
snake1977
2003-12-18 12:56
2004.01.05
MDIChild в DLL


8-12008
xn0bys
2003-08-29 08:23
2004.01.05
Как создать на клиентской части формы БИТМАП (НЕ канву).


14-12050
albatros
2003-12-09 18:39
2004.01.05
Наибольшее натуральное число, кодируемое 16 битами?