![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Печать пакета документов [D5]
don © (2003-12-16 10:32:00)
Помогите плз. Нужно печатать в одном пакете страницы с разной ориентацией, как можно ее сменить внутри одного задания на печать.
Если для каждой смены ориентации создавать новое задание, то на сетевом принтере происходит путаница.
don (2003-12-16 15:30:00) [1]
Я разобрался, если кому интересно:
TPrinter не реализует метода EndPage
поэтому нада самому
{$HINTS OFF}
type
TMyPrinter = class(TObject)
private
FCanvas: TCanvas;
FFonts: TStrings;
FPageNumber: Integer;
FPrinters: TStrings;
FPrinterIndex: Integer;
FTitle: string;
FPrinting: Boolean;
FAborted: Boolean;
FCapabilities: TPrinterCapabilities;
State: TPrinterState;
DC: HDC;
DevMode: PDeviceMode;
DeviceMode: THandle;
end;
{$HINTS ON}
procedure ChangePrinterDevMode;
begin
EndPage(Printer.Handle);
//установить параметры DevMode;
TMyPrinter(Printer).DevMode^.dm....... := ...;
...........................
ResetDC(Printer.Handle,TMyPrinter(Printer).DevMode^);
end;
не забыть потом саказать NewPage;