На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / ОС и железо / Получить размер бумаги в миллиметрах Сделать домашней страницей Добавить в избранное Написать писмо

Получить размер бумаги в миллиметрах



uses
  printers; 

procedure TForm1.Button1Click(Sender: TObject); 
var 
  papermmx, papermmy: Extended; 
begin 
  Printer.BeginDoc; 

  { 
  PHYSICALWIDTH = Dots horizontal of the paper 
  LOGPIXELSX    = DPI (Dots per Inch) 
  25.4          = To calculte Inch to Millimeter 
  } 
  papermmx := GetDeviceCaps(Printer.Canvas.Handle, PHYSICALWIDTH) / 
    GetDeviceCaps(Printer.Canvas.Handle, LOGPIXELSX) * 25.4; 
  papermmy := GetDeviceCaps(Printer.Canvas.Handle, PHYSICALHEIGHT) / 
    GetDeviceCaps(Printer.Canvas.Handle, LOGPIXELSY) * 25.4; 

  with Printer.Canvas do 
  begin 
    TextOut(200, 100, floattostr(papermmx) + ' mm x ' +
      floattostr(papermmy) + ' mm'); 
  end; 
  Printer.EndDoc; 
end;


Copyright ©   "DELPHI WORLD"   E-mail:   delphiworld@mail.ru  http://www.delphiworld.narod.ru
Источник получения информации: http://www.delphiworld.narod.ru
Hosted by uCoz