Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi

Дата: 02.06.00


Вместо печати графики я хочу использовать резидентный шрифт принтера. Как?


Используте функцию Windows API - GetStockObject() чтобы получить дескриптор (handle) шрифта по умолчанию устройства (DEVICE_DEFAULT_FONT) и передайте его Printer.Font.Handle.
Пример:

uses Printers;

procedure TForm1.Button1Click(Sender: TObject);
var
   tm : TTextMetric;
   i : integer;
begin
   if PrintDialog1.Execute then
   begin
       Printer.BeginDoc;
       Printer.Canvas.Font.Handle := GetStockObject(DEVICE_DEFAULT_FONT);
       GetTextMetrics(Printer.Canvas.Handle, tm);
       for i := 1 to 10 do
       begin
           Printer.Canvas.TextOut(100,i * tm.tmHeight +
               tm.tmExternalLeading,'Test');
       end;
       Printer.EndDoc;
   end;
end;



Источник: Дельфи. Вокруг да около.





Чтобы вернуться оцените этот вопрос/ответ:
   

Прислать свои комментарии


Новое на сайте

Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо