Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.25;
Скачать: CL | DM;

Вниз

кКак установить для выбранного принтер новый формат бумаги   Найти похожие ветки 

 
КодеКорешь   (2005-08-01 14:13) [0]

Как установить для выбранного принтер новый формат бумаги.
Вот с помощью GetDeviceCaps можно получить вертикальный и горизонтальный размер бумаги в мм, а как установит новые размеры бумаги для выбранного принтера?


 
Seeker ©   (2005-08-01 15:41) [1]

так

var
 Device : array[0..cchDeviceName-1] of Char;
 Driver : array[0..(MAX_PATH-1)] of Char;
 Port : array[0..32] of Char;
 hDMode : THandle;
 pDMode : PDevMode;
 sDev : array[0..32] of Char;
begin
 Printer.GetPrinter(Device,Driver,Port,hDMode);
 if hDMode <> 0 then
 begin
   pDMode :=GlobalLock(hDMode);
   if pDMode <> nil then
   begin
     pdMode^.dmOrientation :=2;
     // landscape
     pdMode^.dmPaperSize := DMPAPER_A3
     // (см. win32.hlp DEVMODE)
     GlobalUnlock(hDMode);
   end;
 end;
end;

или так
procedure TForm1.Button1Click(Sender: TObject);
var
 Device: array[0..255] of char;
 Driver: array[0..255] of char;
 Port: array[0..255] of char;
 hDMode: THandle;
 PDMode: PDEVMODE;
begin
 Printer.PrinterIndex := Printer.PrinterIndex;
 Printer.GetPrinter(Device, Driver, Port, hDMode);
 if hDMode <> 0 then begin
   pDMode := GlobalLock(hDMode);
   if pDMode <> nil then begin

    {Set to legal}
     pDMode^.dmFields := pDMode^.dmFields or dm_PaperSize;
     pDMode^.dmPaperSize := DMPAPER_LEGAL;

    {Set to custom size}
     pDMode^.dmFields := pDMode^.dmFields or
       DM_PAPERSIZE or
       DM_PAPERWIDTH or
       DM_PAPERLENGTH;
     pDMode^.dmPaperSize := DMPAPER_USER;
     pDMode^.dmPaperWidth := 100 {SomeValueInTenthsOfAMillimeter};
     pDMode^.dmPaperLength := 100 {SomeValueInTenthsOfAMillimeter};

    {Set the bin to use}
     pDMode^.dmFields := pDMode^.dmFields or DMBIN_MANUAL;
     pDMode^.dmDefaultSource := DMBIN_MANUAL;

     GlobalUnlock(hDMode);
   end;
 end;
end;



 
КодеКорешь   (2005-08-01 17:02) [2]

насколькая понял эти параметры меняются только для текущей копии объекта принтера?



Страницы: 1 вся ветка

Текущий архив: 2005.09.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.091 c
2-1124015030
Гость22
2005-08-14 14:23
2005.09.25
И еше вопрос.


14-1125402367
leonidus
2005-08-30 15:46
2005.09.25
Подскажите софтину


1-1125716526
Ivanov
2005-09-03 07:02
2005.09.25
*.pak - архив


14-1125632791
Rentgen
2005-09-02 07:46
2005.09.25
админ запретил юзергейтом MP3


14-1125253208
Light
2005-08-28 22:20
2005.09.25
штрих коды