Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UchebnoePosobie_po_VB_6.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.21 Mб
Скачать

Объект Printer

Объект Printer предназначен для вывода на печать текста и графики.

В отличие от метода PrintForm, объект Printer позволяет выводить документ на печать с разрешением, установленным для принтера, а не для экрана, благодаря чему можно достичь лучшего качества печати. Кроме того этот объект можно использовать для печати многостраничных документов. Однако, весь процесс печати необходимо программировать.

Основные свойства и методы объекта Printer

Наиболее важным методом объекта Printer является метод Print, с помощью которого текст передается на принтер:

Printer. Print “ Здравствуйте “

Printer. Print “ Печать документа “

Вывод осуществляется с верхнего левого угла печатной страницы, с использованием текущих параметров объекта Printer. Для изменения вида шрифта используется свойство объекта Font:

Printer. Font. Name = “ Times New Roman “

Printer. Font. Size = 12

Printer. Font. Underline = True

Printer. Print = “Здравствуй, читатель “

Для изменения единицы измерения служит свойство ScaleMode. По умолчанию в качестве единицы измерения используется твип. При установки значения свойства ScaleMode можно использовать константы vbCentimeters, vbMillimeters или vbPixels – сантиметры, миллиметры, пиксели – соответственно.

Для позиционирования точки вывода используются свойства CurrentX и CurrentY. СurrentY устанавливает расстояние от верхнего края печатаемой области, CurrentX – от левого края печатаемой области. Ширина и высота печатаемой области в условных единицах измерения устанавливается свойствами ScaleWidth и ScaleHeight.

Ширина и высота строки устанавливается с помощью свойств TextHeight и TextWidth.

При выводе текста можно использовать функцию Tab, а также управляющие символы (;) и (,) также как в операторе Print. Для печати графических объектов используются методы Pset, Line, и Cirсle объекта Printer

Printer. Line (1,1) – (10,5)

Готовые графические изображения различных форматов можно выводить с помощью метода PaintPicture (см. 4.3.5):

Printer.PaintPicture Form1.Picture, 0, 0, 1500, 1000, 0, 0, 7000, 5000

После направления всех данных на печать с помощью объекта Printer готовая страница пока еще находится в оперативной памяти. Для запуска процесса печати этот объект должен получить сообщение о том, что формирование этой страницы завершено. Для этой цели предназначен метод NewPage. После того, как все страницы сформируются, вызывается метод EndDoc, который направляет сформированный документ на принтер.

Для прерывания печати используется метод KillDoc.

5.2.6. Упражнения: дополнительные элементы управления для разработки интерфейса

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

Порядок работы.

Разработайте программу табулирования функции двух переменных.

Разработайте эскиз формы (рис.5.14).

Поместить на форму строку состояния и установить на ней четыре поля: первое и второе – текстовые; третье – текущее время, четвертое – текстовое (резервное).

Напишите текст программы:

Option Explicit

Dim Xn As Single, Xk As Single, Dx As Single

Dim Yn As Single, Yk As Single, Dy As Single

Dim X As Single, Y As Single, Z() As Single

Dim M As Integer, N As Integer

Dim NameFile As String, NameFile1 As String

Dim Nkan As Integer

Private Sub Command1_Click()

Dim i As Integer, j As Integer

Xn = Val(Text1(0).Text)

Xk = Val(Text1(1).Text)

Dx = Val(Text1(2).Text)

Yn = Val(Text1(3).Text)

Yk = Val(Text1(4).Text)

Dy = Val(Text1(5).Text)

Cls

' определение размерности массива и сетки

N = Int((Xk - Xn) / Dx) + 1

M = Int((Yk - Yn) / Dy) + 1

ReDim Z(N, M)

Grid1.Rows = N + 1

Grid1.Cols = M + 1

' нумерация строк

X = Xn

Grid1.Col = 0

Grid1.ColAlignment(0) = 2

For i = 1 To N

Grid1.Row = i

Grid1.Text = Str$(X)

X = X + Dx

Next i

' нумерация столбцов

Y = Yn

Grid1.Row = 0

For j = 1 To M

Grid1.Col = j

Grid1.ColAlignment(j) = 2

Grid1.Text = Str$(Y)

Y = Y + Dy

Next j

' вычисление значения Z

X = Xn

For i = 1 To N

Y = Yn

Grid1.Row = i

For j = 1 To M

Z(i, j) = X + Y

Y = Y + Dy

Grid1.Col = j

If X <> 0 Then

Grid1.Text = Str$(Format(Z(i, j), "#.##"))

Else

Grid1.Text = Str$(Z(i, j))

End If

Next j

X = X + Dx

Next i

StatusBar1.Panels(1) = "N=" & Str(N)

StatusBar1.Panels(2) = "M=" & Str(M)

End Sub

Private Sub Command2_Click()

Unload Me

End Sub

Для контроля правильности работы программы составьте исходные данные для тестирования: Xнач=0, Xкон=10, Dx=2, Yнач=1, Yкон=11, Dy=2. Функция Z=x+y.

Запустите программу и проверьте результаты работы: Z(0,0)=1; Z(0,1)=3; ... Z(6,6)=21

Задача 2. Разработайте интерфейс для открытия файлов, сохранения их на диске, без изменения имени файла и с изменением имени файла, а также вывода данных на печать. При разработке формы использовать:

а) элементы управления DriveListBox, DirectoryListBox, FileListBox;

б) элемент управления CommonDialog.

Указания к выполнению п.2. Создайте меню пользователя по аналогии с пунктом меню File Visual Basic. Для пунктов меню Открыть, Сохранить, Сохранить как... и Печать создайте формы с использованием элементов управления рассмотренных в настоящем разделе. Вопрос об использовании этих форм будет рассматриваться в шестом разделе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]