Delphirus - прграммирование на delphi
   Все о delphi Delphirus - прграммирование на delphi
blocks.gif
Навигация
 

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

 
 
 

Советы по delphi \ Система \ Принтеры и Печать \ Перевести принтер в режим Duplex

Перевести принтер в режим Duplex

{ 
You typically switch a printer to duplex mode by changing its 
TDeviceMode(API: DEVMODE)record .But first you should test whether 
the installed printer driver supports this: 
}
 uses
   printers, winspool;

 function PrinterSupportsDuplex: Boolean;
 var
   Device, Driver, Port: array[0..255] of Char;
   hDevMode: THandle;
 begin
   Printer.GetPrinter(Device, Driver, Port, hDevmode);
   Result :=
     WinSpool.DeviceCapabilities(Device, Port, DC_DUPLEX, nil, nil) <>
     0;
 end;

 {if it does you can try to switch the duplex mode on before you call 
 richedit.print:}


 var
   Device, Driver, Port: array[0..80] of Char;
   DevMode: THandle;
   pDevmode: PDeviceMode;
   begin
      // Get printer device mode handle. 
    Printer.GetPrinter(Device, Driver, Port, DevMode);
     if Devmode <> 0 then begin
        // lock it to get pointer to DEVMODE record 
      pDevMode := GlobalLock(Devmode);
       if pDevmode <> nil then
       try
         with pDevmode^ do begin
           dmDuplex := DMDUP_VERTICAL;
           dmFields := dmFields or DM_DUPLEX;
         end;
       finally
         // unlock devmode handle. 
        GlobalUnlock(Devmode);
       end;
     end; { If }
   end;

Название: Перевести принтер в режим Duplex
Дата публикации: 2004-09-09 (3119 Прочтено)

 
 

 

Page generation 0.034 seconds