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

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

Ширина строки [Delphi, Opengl]


Signate ©   (2005-09-30 11:35:00) 

Как узнать TextWidth у opengl шрифта?

создавал шрифт так
var
 old, hf: HFONT;
begin

 hf:=MakeFont(h_DC, FontName, FontSize, Bold, Italic, Underline, Strikeout, 0);

 old:=SelectObject(h_DC, hf);
 wglUseFontBitmaps(h_DC, 0, 256, FontID);

 SelectObject(h_DC, old);
 DeleteObject(hf);


делал так,


var
  sz : SIZE;
begin
  GetTextExtentPoint(h_DC, Str, length(Str), sz);
  Result := sz.cx;


то таким образом он будет выдавать ширину только последнего загруженного шрифта... а у меня кроме идентификатора шрифта ничего нету...


Goorus   (2005-09-30 18:17:00) [1]

В процессе никак, ты же удаляешь шрифт:
DeleteObject(hf);
У тебя остаётся только его OpenGL'ное представление, а оттуда, насколько я знаю, его ширину достать не удастся. Выход один - заранее определить ширину строк (при создании шрифта), или отдельных букв, а потом складывать.


XProger   (2005-09-30 13:12:00) [2]

GetTextExtentPoint32


Наверх

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