Автор: TheChampion
Дата сообщения: 06.07.2004 08:01
Да, можно. Для этого используют функцию Win32 API CreateFont (полное описание всех параметров см. Platform SDK). Средствами Delphi этого не сделаешь.
Что делать:
1. В переменной типа HFONT будем хранить дескриптор шрифта (кажется, это описано в windows).
2. Чтобы создать шрифт, используй функцию CreateFont (вернет дескриптор, его надо проверить на NULL).
3. Получи контекст окна обращением к TForm::Handle.
HDC hDC = GetDC(MyForm.Handle);
4. Выбери шрифт в контекст, СОХРАНИВ СТАРЫЙ ШРИФТ:
HFONT OldFont := SelectObject(hDC, NewFont);
5. Сделай надписи, используя TextOut и DrawText (лучше из API, так быстрее).
6. Выбери старый шрифт в контекст:
SelectObject(hDC, OldFont);
7. Освободи контекст:
ReleaseDC(MyForm.Handle, hDC);
8. Если шрифт не нужен, удали его:
DeleteObject(NewFont);
PS: пардон за нотацию в виде C/C++, просто она лучше отражает действительность.
PPS: Delphi, конечно, хорошо, но вы пробовали делать с помощью Canvas наклонные надписи? Получалось?