Форум веб-мастеров  /  Статьи веб-мастера  /  WHOIS-сервис  /  Услуги веб-мастера  /  RSS 
Разделы сайта




Полезные ссылки

wm-help.net -> Электронная библиотека -> Delphi -> Вопросы и Ответы по Delphi -> Вопрос и Ответ 12

Вопрос и Ответ 12

Вопрос и Ответ 12

Вопросы и Ответы


      12. Как одной процедурой осуществить вывод и в окно и на принтер?

      Для этого необходимо учитывать размер используемого контекста отображения и конечно же, сам контекст в который производится вывод. Вот параметры которые необходимы процедуре для вывода:

      Вывод

      Контекст

      Ширина

      Высота

      в окно

      Printers.Canvas

      ClientWidth ClientHeight

      на принтер

      Canvas

      PageWidth PageHeight

      Пример:

      ............

      {вывод рисунка в контекст Cv}
      PROCEDURE TForm1.Draw(Cv: TCanvas; W, H : Integer);
      VAR k: Integer;
      BEGIN

        k := W DIV 40; {вычисление коэффициента - от ширины листа}
        WITH Cv DO BEGIN {рисование в предоставленном контексте}

          Font.Name := 'Times New Roman Cyr';
          Font.Size := k*6;
          Font.Color := clOlive;
          TextOut(k*10, k*6, 'Delphi');
          Font.Size := k*4;
          Font.Color := clBlue;
          TextOut(k*11, k*15, 'для всех');
          Pen.Color := clRed;
          Pen.Width := k div 2;
          MoveTo(k*15, k*22);
          LineTo(k*34, k*21);

        END;

      END;

      ............

      {вывод информации в окно}
      procedure TForm1.FormPaint(Sender: TObject);
      begin

        Draw(Canvas, ClientWidth, ClientHeight);

      end;

      ............

      {вывод информации на принтер}
      procedure TForm1.mPrintClick(Sender: TObject);
      begin

        WITH Printer DO BEGIN

          BeginDoc;
          Draw(Printer.Canvas, PageWidth, PageHeight);
          EndDoc;

        END;

      end;

      ............

      Для работы с принтером не забудте добавить модуль Printers в строку Uses....


...предыдущая страница следующая...
оглавление

[ Вверх ]

Rambler's Top100

Другие наши проекты:
бодибилдинг | Строим Домик | RU-домены за 170 рублей |
"Вопрос и Ответ 12"
Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2008.
При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны!
Время генерации страницы: 0.089