Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
КодеКорешь   (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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.038 c
2-1124113351
Novice
2005-08-15 17:42
2005.09.25
Вопрос по TreeView


14-1125679258
Джо
2005-09-02 20:40
2005.09.25
Delphi 2005 - Generate XML documentation


2-1124270885
Коля
2005-08-17 13:28
2005.09.25
Delphi


3-1123585717
Alex--
2005-08-09 15:08
2005.09.25
Провайдер Interbase для ADO


14-1125646637
Игорь Шевченко
2005-09-02 11:37
2005.09.25
Программистов очень много...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский