Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Печать в Visual Basic .Net (2 часа)




Для печати в Visual Basic.Net используются два невизуальных элемента управления: PrintDocument и PrintPreviewDialog. Первый элемент управления предназначен собственно для печати, второй – для организации предварительного просмотра перед печатью.

Объект PrintDocument представляет собой текущий принтер. Для организации печати в нём пользователь должен предварительно создать графическое изображение, но это делается не вручную, а программно.

Свойства объекта PrintDocument, связанные с параметрами страницы, объединяются в семейство DefaultPageSettings. Важнейшими членами этого семейства являются:

PaperSize – размеры текущей страницы (PaperSize.Width и PaperSize.Height);

Color – логическое свойство, определяющее, нужна ли цветная печать;

Margins – поля текущей страницы (Margins.Left, Margins.Right, Margins.Top и Margins.Bottom);

LandScape – логическое свойство, определяющее ориентацию страницы (книжная или альбомная).

Значения всех этих свойств могут изменяться программно и вручную в процессе разработки. Размер печатаемого текста или рисунка также должен привязываться к значениям этих свойств. В указанное семейство также входит свойство PrinterSettings, определяющее свойства принтера, в том числе:

CanDuplex – логическое свойство, указывающее, поддерживает ли принтер двустороннюю печать;

DuplexPage Settings – устанавливает параметры страницы для двусторонней печати;

Copies – определяет нужное число копий;

FromPage и ToPage – устанавливает начальную и конечную страницу печати;

InstalledPrinters – определяет имена всех установленных в системе принтеров;

FSDefaultPrinter – указывает принтер, используемый по умолчанию.

Значения во все эти свойства также можно либо вводить вручную в процессе разработки, либо устанавливать программно. Обычно для этого на экран выводят стандартное диалоговое окно настроек печати (с помощью элемента управления PrintDialog), где делают все необходимые установки, а затем эти установки передают в качестве значений свойств элемента управления PrintDocument.

Важнейший метод объекта PrintDocument – метод Print, вызывающий собственно процесс печати, например:

PrintDocument1.Print

Этот код обычно записывается в обработчике события Click кнопки «Печать», нанесённой на соответствующую форму или соответствующего пункта меню. Метод Print вызывает событие PrintPage объекта PrintDocument, которое является важнейшим событием этого объекта, и в котором, собственно, и программируется вывод текста и изображений на печать.

Обработчику события PrintPage среди прочих передаётся аргумент е, у которого имеется ряд свойств. Важнейшим свойством аргумента е является свойство Graphics, которое представляет собой рабочую поверхность для формирования печатаемого изображения. Это свойство является объектом, у которого, в свою очередь, имеются свои свойства и методы. Для печати текста используется метод DrawString, имеющий синтаксис:

e.Graphics.DrawString(строка, шрифт, цвет, координата Х, координата Y).

Шрифт определяется объектом Font, а цвет – объектом Brush. Например, для вывода строки «Иванов Иван Иванович» шрифтом типа Arial, размером 20 пунктов, шоколадным цветом в позиции с координатами (20,20) необходимо записать код:

Visual Basic.Net:

 

Dim F As Font

Dim A As String

A = «Иванов Иван Иванович»

F = New Font(«Arial», 20)

e.Graphics.DrawString(A, F, Brushes.Chocolate, 10, 20)

Visual C#.Net:

Font F;

String A;

A = "Иванов Иван Иванович";

F = new Font("Arial", 20);

e.Graphics.DrawString(A, F, Brushes.Chocolate, 10, 20);

 

Обработчик события PrintPage выполняет печать только одной очередной страницы документа. Если документ содержит несколько страниц, то перед выходом из данного обработчика необходимо установить свойство e.HasMorePages, равное True. Это вызовет генерацию ещё одного события PrintPage.

Рассмотрим пример. Пусть необходимо вывести на печать столбец цифр от 0 до 60 шрифтом Arial, размером 20 пунктов, чёрным цветом, расстояние между строками – 7 пунктов, необходимое число страниц определить автоматически. В этом случае обработчик события PrintPage будет иметь следующий вид (x,y – координаты строки, i – выводимое число, j – счётчик чисел, который необходим, поскольку при переходе на новую страницу происходит обнуление количества выведенных чисел. Переменную i необходимо объявит вне кода всех процедур с атрибутом Public, т.к. при выходе из процедуры значения всех ее собственных переменных обнуляются):

Visual Basic.Net:

 

Dim x, y As Single

Dim F As Font

Dim j As Integer

F = New Font("Arial", 20)

j = 0

x = PrintDocument1.DefaultPageSettings.Margins.Left

While i <= 60

y = PrintDocument1.DefaultPageSettings.Margins.Top + (j - 1) * (F.Size + 7)

e.Graphics.DrawString(Str$(i), F, Brushes.Black, x, y)

If y > PrintDocument1.DefaultPageSettings.PaperSize.Height - PrintDocument1.DefaultPageSettings.Margins.Bottom Then

e.HasMorePages = True

j = 0

Exit Sub

End If

j = j + 1

i = i + 1

End While

Visual C#.Net:

 

Single X, Y;

Font F;

Int32 j;

F = new Font("Arial", 20);

j = 0;

X = printDocument1.DefaultPageSettings.Margins.Left;

while (I <= 60)

{

Y = printDocument1.DefaultPageSettings.Margins.Top + (j - 1) * (F.Size + 7);

e.Graphics.DrawString(System.Convert.ToString(I), F, Brushes.Black, X, Y);

if (Y > printDocument1.DefaultPageSettings.PaperSize.Height - printDocument1.DefaultPageSettings.Margins.Bottom)

{

e.HasMorePages = true;

j = 0;

return;

}

j = j + 1;

I = I + 1;

}

Для вызова процесса печати необходимо нанести на форму кнопку с надписью «Печать» или создать меню печати, и записать обработчик события Click:

PrintDocument1.Print()

Для организации предварительного просмотра используют объект PrintPreviewDialog. Этот объект представляет собой стандартное диалоговое окно с кнопками навигации по страницам. Обычно специального кода, реализующего функцию предварительного просмотра, не пишут, а, создав код печати, перенаправляют этот код в объект PrintPreviewDialog. Для этого пишут следующий код:

Объект PrinrPrewiewDialog.Document=Объект PrintDocument

Объект PrinrPrewiewDialog.ShowDialog

Рассмотрим пример. Пусть необходимо вывести результаты работы предыдущего примера (столбец цифр от 0 до 60) в окне предварительного просмотра. Для этого необходимо нанести на форму объект PrinrPrewiewDialog, затем написать код обработчика события PrintPage объекта PrintDocument, после чего следует нанести кнопку с надписью: «Предварительный просмотр» или создать соответствующее меню, и в обработчик события Click записать код:

PrintPreviewDialog1.Document = PrintDocument1

PrintPreviewDialog1.ShowDialog()

 


Глоссарий

And – операция пересечения, или логического умножения.

ASCII – таблица ASCII-кодов задает порядок следования символов типа Char.

BASIC (Beginner’s All-Purpose Symbolic Instruction Code) – многоцелевой язык программирования высокого уровня.

Boolean – логический тип с двумя возможными значениями: False, True.

Button – кнопка, управляющий элемент. Используется для выдачи команд на выполнение определенных функциональных действий.

Char – символьный тип. Порядок следования символов задается таблицей ASCII -кодов. Занимает 1 байт памяти.

Dim – служебное слово, использующееся при объявлении массивов и переменных.

Do – служебное слово, использующееся в операторах цикла. См. также Loop.

Double –тип, использующийся для представления действительных чисел. Занимает 8 байт. См. также Single.

Enabled – свойство типа Boolean, определяющее, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.

End If – служебные слова, которыми заканчивается разветвление.

End Sub – служебные слова, которыми заканчивается подпрограмма типа Sub

Exit For – операция досрочного выхода из цикла For.

For – служебное слово, с которого начинается оператор регулярного цикла. См. также Next.

IDE (Integrated Development Environment) – интегрированная среда разработки, оболочка проектирования со встроенными средствами создания интерфейса, отладки и компиляции программного кода.

Integer –тип, использующийся для представления целых чисел. Занимает 2 байта. Диапазон значений (–32768, 32767).

Left – свойство компонента, отвечающее за координаты его верхнего угла.

ListBox – компонент "список строк".

Loop – служебное слово, использующееся в цикле. См. Do.

MenuStrip – компонент "основное меню".

MDI (Multi Document Interface) –многооконное приложение, в котором есть основное окно и дочерние окна.

Me – ключевое слово, означающее текущую форму.

Mid – одна из функций работы со строкой. Служит для выделения подстроки из строки.

MoveTo – процедура перемещения курсора.

Name – свойство компонента, отвечающее за его имя.

Next – служебное слово, использующееся в операторе регулярного цикла.

Not – логическая операция отрицания.

Or – операция объединения, или логическое сложение.

RAD (Rapid Application Development) – среда быстрой разработки приложений.

SDI (Single Document Intrrface) – приложение, имеющее одну или несколько форм, которые выводятся на экран независимо друг от друга.

Step – служебное слово, использующееся в операторе регулярного цикла. В программах лучше не использовать, тогда по умолчанию Step=1.

String – строковый тип.

Sub – ключевое слово, означающее начало новой процедуры.

Until – служебное слово, использующееся в операторах итеративного цикла для проверки условия выхода из цикла.

Val – встроенная функция Visual Basic.Net, позволяющая преобразовывать строки, содержащие цифры, в число. Имеет синтаксис Val(строка или имя строковой переменной).

Visual Basic – язык программирования высокого уровня, предназначенный специально для быстрой разработки Windows–приложений.

Visual Basic.Net – самая последняя на сегодняшний день версия Visual Basic, входящая в инфраструктуру Visual Studio.NET, один из основных языков платформы Microsoft.NET.

While – служебное слово, использующееся в операторах итеративного цикла для проверки условия продолжения цикла.

Алгоритм – точное предписание действий, определяющих процесс преобразования исходных данных в результат.

Алгоритм линейный – последовательность операторов, выполняющихся в порядке их записи в исходном тексте программы.

Алфавит языка – набор символов, использующихся в языке программирования для записи программы.

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

Выражение – комбинация имен, операций и неименованных констант. Выражение преобразует одни данные в другие. Все составные части выражения должны быть известны, и тогда выражение может быть вычислено.

Выражение арифметическое – выражение, результат которого есть число.

Выражение логическое – выражение, результат которого принимает одно из значений логического типа False или True.

Главная форма – форма, внутри которой отображаются подчиненные формы.

Диалоговое окно – стандартное окно, с помощью которого пользователь может осуществлять некоторые стандартные операции: открывать и сохранять файлы, настраивать параметры печати и предварительного просмотра, параметры шрифта и некоторые другие. Для разных версий Windows имеют несколько различный вид.

Динамически подключаемые библиотеки (DLL) – библиотеки программ, подключающиеся к приложению только при вызове данной программы.

Заголовок формы – свойство формы, имеет имя Text.

Инкапсуляция – одна из основ объектно–ориентированного программирования. Состоит в объединении и сокрытии данных и методов работы с ними.

Интегрированная среда (IDE) – интегрированная среда разработки, оболочка проектирования со встроенными средствами создания интерфейса, отладки и компиляции программного кода.

Итеративные циклы с постусловием – итеративный цикл, в котором условие продолжения цикла стоит в начале цикла. Наиболее общий оператор цикла.

Итеративные циклы с предусловием – и теративный цикл, в котором условие окончания цикла стоит в конце цикла.

Класс – специальный тип, который содержит поля, методы и свойства.

Кодировка – набор символов и их числовых кодов, поддерживаемых операционной системой.

Компилятор – специальная программа, предназначенная для перевода исходного текста программы (написанного на языке высокого уровня) в машинный код (последовательность двоичных цифр), записываемый в виде исполняемого файла.

Компиляция – процесс преобразования исходного текста программы в двоичный исполняемый файл.

Компоненты – то же, что и элементы управления.

Логическое И – см. And.

Логическое ИЛИ – см. Or.

Логическое НЕТ – см. Not.

Массив – фиксированный набор данных одного типа, объединенных одним именем.

Методы – процедуры и функции, включенные в описание класса.

Модальная форма – форма, имеющая приоритет на всеми остальными формами приложения. Пока открыта модальная форма, пользователь не имеет возможности перейти в любую другую форму проекта.

Модуль – совокупность нескольких программ и функций.

Наследование – одна из основ объектно–ориентированного программирования. Состоит в наследовании методов, свойств и полей классов–предков.

Начальная страница – первая страница, которая появляется на экране после загрузки IDE Visual Studio.NET.

Невизуальные элементы управления – элементы управления, которые во время выполнения программы не отображаются на форме.

Немодальная форма – форма, не имеющая приоритета над остальными формами приложения. Пользователь может свободно переключаться между всеми одновременно открытыми немодальными формами.

Обработчик события – специальные методы, связанные с событиями.

Объект – экземпляр класса.

Объектно–ориентированное программирование (ООП) – метод программирования, который рассматривает программы, как совокупность связанных между собой элементов, называемых объектами. Каждый объект отвечает за определённые действия. Вычисления осуществляются путём взаимодействия и обмена сообщений между объектами.

Объекты формы – все нанесённые на форму элементы управления. Могут быть визуальными (т.е. видимыми во время выполнения программы) и невизуальными (т.е. невидимыми во время выполнения программы).

Оператор – стандартная инструкция языка программирования для выполнения некоторых действий.

Оператор условный – оператор, позволяющий выбрать один из двух вариантов продолжения работы программы в зависимости от значения логического выражения, которое может принимать значения False или True.

Операторы цикла – операторы, использование которых позволяет организовать выполнение некоторого фрагмента программы многократно. Существуют оператор регулярного цикла, оператор цикла с предусловием, оператор цикла с постусловием.

Операции отношения – операции, в ходе которых производится сравнение одних и других данных. Результат сравнения принимает значение логического типа False или True. Например: 2>3=False.

Операция – некоторые действия, в результате которых происходит преобразование данных.

Остаток от деления – Mod – одна из операций для работы с целыми значениями.

Передача по значению – способ обмена информацией между фактическими и формальными параметрами, в результате которого в формальный параметр копируется значение соответствующего фактического параметра. Используется для организации только входных параметров.

Передача по ссылке – способ обмена информацией между фактическими и формальными параметрами, в результате которого в формальный параметр передается адрес фактического параметра, а не его значение. Используется для организации как входных, так и выходных параметров.

Плавающее окно – режим отображения, позволяющий быстро показать окно на экране и спрятать, не изменяя при этом его размеров.

Подпрограмма – часть программного кода, к которой можно обратиться по имени.

Полиморфизм – один из основных принципов объектно–ориентированного программирования. Заключается в том, что методы различных классов могут иметь одинаковые имена, но различное содержание. В результате предок и потомок ведут себя по–разному при обращении к одноименным методам различных объектов.

Понятия ООП базовые – см. инкапсуляция, наследование, полиморфизм.

Предварительный просмотр – вывод на экран информации в том виде, в каком ёё предполагается выводить на печать.

Прикладная программа – любая программа, выполняющаяся по управлением операционной системы.

Прикрепленное окно – режим отображения, позволяющий "закрепить" окно в каком–то месте среды разработки так, что при изменении размеров такого окна освободившееся место будет занято другими прикрепленными окнами.

Приложение – то же, что прикладная программа.

Программа – набор инструкций, написанных на определенном языке программирования.

Программа заказная – программа, разработанная для решения конкретной задачи в рамках одной фирмы.

Программа стандартная – программа, созданная для решения класса типовых задач.

Проект – набор файлов, созданных в процессе разработки прикладной программы. Для распространения программ не обязательно передавать все файлы проекта. В некоторых случаях достаточно передать только исполняемый файл, в большинстве случаев необходимо передавать исполняемый файл и необходимые динамически подключаемые библиотеки.

Процедура – программа, начинающаяся с ключевого слова Sub.

Процедура обработки события – см. обработчики событий.

Рабочая область Visual Studio.NET – пространство основного окна среды, в котором разработчик может разместить наиболее значимые для него в определенный момент работы над приложением инструменты.

Регулярные циклы – цикл с заранее известным числом повторений.

Свойство объекта – атрибуты объекта, определяющие его характеристики: размеры, цвет, имя, отображаемый текст и другие.

Скрывающееся окно (Auto–Hide) – режим отображения, позволяющий "прятать" окно в главном окне IDE на внешнем крае экрана.

Событие (Event) – свойство процедурного типа, предназначенное для создания пользовательской реакции на те или иные входные воздействия. Эти реакции суть методы, которые называются обработчиками событий.

Строка – набор символов, заключённый в кавычки.

Счетчик цикла – (параметр цикла) – переменная, использующаяся в операторе регулярного цикла FOR…NEXT. Желательно, чтобы счетчик цикла был целого типа.

Тело цикла – операторы, которые входят в состав операторов цикла.

Тип – основное понятие программирования. Любые данные, с которыми работает программа, должны быть представлены как данные описанного типа. В языках программирования разработана разветвленная структура типов данных, позволяющая организовать работу с любыми данными.

Тип данных – см. тип.

Типы вещественные – ряд типов, элементы которых принимают вещественные значения. Представлены с форме с плавающей точкой.

Типы целые – ряд типов, элементы которых принимают целые значения. Значения целых типов представлены точно.

Условные операторы – операторы, осуществляющие проверку некоторого условия, и при его выполнении направляющие действия программы в определённом направлении.

Файл бинарный – файл, содержащий значения некоторых переменных. Как правило, просмотр таких файлов с помощью текстовых редакторов невозможен.

Файл исполняемый – двоичный файл, полученный из исходного текста программы в процессе компиляции и готовый для запуска программы.

Форма – основной объект визуального программирования в среде Windows. Служит контейнером для всех остальных элементов управления.

Функция – подпрограмма, которая объявляется с использованием служебного слова Function или как Def Fn <имя функции>. Через свое имя функция возвращает в вызывающую программу одно значение. Вызывается в выражении.

Функция встроенная – функция, имеющаяся в соответствующем компиляторе. Вызывается также, как обычная функция.

Цикл – многократно повторяющиеся операторы программы.

Цикл итеративный – цикл с заранее неизвестным числом повторений.

Цикл регулярный – цикл с заранее известным числом повторений.

Цикл с постусловиемитеративный цикл, в котором условие окончания цикла стоит в конце цикла.

Цикл с предусловиемитеративный цикл, в котором условие продолжения цикла стоит в начале цикла. Наиболее общий оператор цикла.

Цикл со счетчиком – см. Цикл регулярный.

Циклы вложенные – несколько циклов, которые вложены друг в друга. Особенность использования вложенных циклов состоит в том, что внутренний цикл обязательно должен начинаться и заканчиваться внутри внешнего цикла.

Циклы последовательные – несколько циклов, которые выполняются последовательно друг за другом.

Элементы управления (компоненты) – объекты, наносимые на форму.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...