14. Як програмується виведення даних на принтер у Visual Basic.
Использование объекта Printer языка Visual Basic. А вот на этом способе мы остановимся подробнее, поскольку он хотя и несколько трудоемок, но позволяет программным способом "на лету" сформировать практически любой текстовый или табличный отчет. Для начала перечислим свойства и методы объекта Printer.
Методы объекта Printer |
|
Метод |
Описание |
Circle |
Рисование дуг, эллипсов, окружностей |
EndDoc |
Завершение печати документа |
KillDoc |
Удаление документа из очереди на печать |
Line |
Рисование линий с учетом установок ScaleMode |
NewPage |
Прогон текущей страницы и начало новой (установка координат в левый верхний угол) |
PaintPicture |
Вывод изображения из графического файла |
Печать текстовой строки с текущими установками |
|
PSet |
Печать точки текущим цветом |
Scale |
Задание пользовательской системы координат |
ScaleX |
Преобразование X-координаты в единицы, определяемые ScaleMode |
ScaleY |
Преобразование Y-координаты в единицы, определяемые ScaleMode |
TextHeight |
Установка высоты шрифта в координатной системе, определяемой Scale |
TextWidth |
Установка ширины шрифта в координатной системе, определяемой Scale |
Свойства объекта Printer |
|
Свойство |
Описание |
ColorMode |
Устанавливает цветную или монохромную печать |
Copies |
Устанавливает количество копий, которые должны быть напечатаны |
Count |
Количество принтеров в коллекции Printers |
CurrentX |
Устанавливает текущую координату X c использованием текущих установок ScaleMode |
CurrentY |
Устанавливает текущую координату Y c использованием текущих установок ScaleMode |
DeviceName |
Возвращает имя устройства |
DrawMode |
Определяет вид выводимых линий и объектов |
DrawStyle |
Стиль выводимых линий при печати графики |
DrawWidth |
Толщина линий |
DriverName |
Возвращает имя драйвера устройства для объекта Printer |
Duplex |
Определяет, должна ли печататься информация на обеих сторонах листа |
FillColor |
Цвет, используемый для заполнения фигур |
FillStyle |
Стиль заливки при заполнении фигур |
Font |
Объект шрифта |
FontBold |
Полужирный шрифт (True/False) |
FontCount |
Количество доступных шрифтов |
FontItalic |
Курсив (True/False) |
FontName |
Наименование используемого шрифта |
Fonts |
Список имен доступных шрифтов (от 0 до FontCount-1) |
FontSize |
Размер текущего шрифта в точках |
FontStrikethru |
Перечеркнутый шрифт (True/False) |
FontTransparent |
Прозрачный шрифт (True/False) |
FontUnderline |
Подчеркнутый шрифт (True/False) |
ForeColor |
Цвет переднего плана |
hDC |
Дескриптор контекста устройства |
Height |
Высота вывода устройства (в твипсах) |
Orientation |
Ориентация страницы в принтере |
Page |
Номер текущей страницы |
PaperBin |
Источник бумаги |
PaperSize |
Размер бумаги |
Port |
Возвращает имя используемого порта |
PrintQuality |
Разрешение печати |
ScaleHeight |
Вертикальный размер объекта в единицах, определяемых ScaleMode |
ScaleLeft |
Левый угол объекта в единицах, определяемых ScaleMode |
ScaleMode |
Определяет единицы системы координат |
ScaleTop |
Верхняя граница объекта в единицах, определяемых ScaleMode |
ScaleWidth |
Горизонтальный размер объекта в единицах, определяемых ScaleMode |
TrackDefault |
Определяет, будет ли всегда использоваться принтер, который установлен в системе по умолчанию |
TwipsPerPixelX |
Количество твипсов на пиксель по горизонтали |
TwipsPerPixelY |
Количество твипсов на пиксель по вертикали |
Width |
Ширина вывода устройства (в твипсах) |
Zoom |
Масштабирование при выводе |
Печать текста с использованием объекта Printer осуществляется следующим образом: задаются координаты печати с помощью свойств CurrentX и CurrentY, а затем используется метод Print. Пример печати в абсолютных координатах: Printer.CurrentX = 1440 Printer.CurrentY = 1440 Printer.Print "Проблемы печати отчетов" 'Физическое выполнение печати и выдача листа бумаги Printer.EndDoc Но обычно гораздо удобнее принудительно разделить весь лист на зоны печати и при позиционировании использовать ScaleHeight и ScaleWidth, т.е. относительные координаты.