![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как установить размер страницы при печати через Printer [D6, WinXP]
Monax © (2006-05-14 13:10:00)Кто знает, подскажите. Печатаю через Printer. Мне нужно, чтобы объекты четко попадали в нужное место, но гуляющий по всему инету пример меняет размер страницы только на виртуальном принтере, а на реальном нет. Если задаеш пользовательский формат в тупую, то принтер оставляет поля и точное позиционирование не получается.
Что не так?
Printer.PrinterIndex := Printer.PrinterIndex;
Printer.GetPrinter(Device, Driver, Port, hDMode);
if hDMode <> 0 then begin
pDMode := GlobalLock(hDMode);
if pDMode <> nil then begin
pDMode^.dmFields := pDMode^.dmFields or
DM_PAPERSIZE or
DM_PAPERWIDTHor
DM_PAPERLENGTH;
pDMode^.dmPaperSize := DMPAPER_USER;
pDMode^.dmPaperWidth := Round(10*PaperWidth);
pDMode^.dmPaperLength := Round(10*PaperLength);
GlobalUnlock(hDMode);
end;
end;
Printer.PrinterIndex := Printer.PrinterIndex;
REA (2006-05-15 10:43:00) [1]Или SetViewportOrgEx
REA (2006-05-15 10:39:00) [2]>чтобы объекты четко попадали в нужное место
рисуй в это место