скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

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




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 © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook