Вверх ↑
Разработчик
Ответов: 26068
Рейтинг: 2121
#1: 2011-02-06 00:15:07 ЛС | профиль | цитата
sla8a писал(а):
но правильно ли так?

Функуция, которую ты убрал -- ImgGetDC(), получает контекст будущего вывода графики, на что потом и будет выведен текст. Интересно, а в твоем коде на каком pDC ты получаешь размеры текста
------------ Дoбавленo в 00.15:
Попробуй протестировать вот так, если пойдет нормально, то исправлю



procedure THIImg_Text._var_TextWidth;
var SizeFont: TSize;
DC: HDC;
s: string;
begin
s := ReadString(_Data,_data_Text,_prop_Text);
DC := CreateCompatibleDC( 0 );
SelectObject(DC, GFont.Handle);
GetTextExtentPoint32( DC, PChar(s), Length(s), SizeFont);
DeleteDC(DC);
dtInteger(_Data, SizeFont.cx);
end;

procedure THIImg_Text._var_TextHeight;
var SizeFont: TSize;
DC: HDC;
s: string;
begin
s := ReadString(_Data,_data_Text,_prop_Text);
DC := CreateCompatibleDC( 0 );
SelectObject(DC, GFont.Handle);
GetTextExtentPoint32( DC, PChar(s), Length(s), SizeFont);
DeleteDC(DC);
dtInteger(_Data, SizeFont.cy);
end;
карма: 22

1
Голосовали:sla8a