CommonDialog1.ShowPrinter
С помощью этого окна юзер может выбрать принтер, номера печатаемых страниц, а также число копий. Некоторые полезные константы для свойства .Flags:
cdlPDPageNums = 2 - устанавливает или возвращает статус радиокнопки Pages (Делает ее доступной при использовании свойств.Min и.Max) cdlPDCollate = 16 (& H10) - устанавливает или возвращает статус галочки Collate cdlPDNoSelection = 4 - выключает радиокнопку Selection cdlPDSelection = 1 - устанавливает или возвращает статус радиокнопки Selection cdlPDAllPages = 0 - устанавливает или возвращает статус радиокнопки All Pages cdlPDPrintSetup = 64 (& H40) - выводит на экран SetUp принтера раньше, чем диалоговое окно
Чтобы управлять ориентацией листа (горизонтальная печать или вертикальная), надо явно передать константу ориентации из диалогового окна окна в объект Printer. Printer.Orientation = CommonDialog1.Orientation
Если свойству .Flags задать значение cdlPDPageNums, а затем установить свойства .Min и .Max (Минимальное и максимальное количество печатаемых страниц, то в диалоговом окне станет доступно поле Pages. По умодчанию в него можно задать номера страниц с помощью свойств .FromPage (начальная страница печати) и .ToPage (конечная страница печати):
CommonDialog1.Flags = cdlPDPageNums CommonDialog1.Min = 0 ' минимальное количество страниц CommonDialog1.Max = 10 ' максимальное количество страниц CommonDialog1.FromPage = 1 'начальная страница печати CommonDialog1.ToPage = 5 'конечная страница печати Можно также по умолчанию задать количество копий с помощью свойства .Copies: CommonDialog1.Copies = 3
Вот приблизительно, как может выглядеть код для печати содержимого нашего Text1:
Private Sub Command5_Click() On Error GoTo Cansel CommonDialog1.CancelError = True CommonDialog1.Flags = cdlPDPageNums Or cdlPDCollate Or cdlPDNoSelection Or cdlPDAllPages CommonDialog1.Copies = 2 'количество копий по умолчанию CommonDialog1.Min = 0 CommonDialog1.Max = 10 CommonDialog1.FromPage = 1 CommonDialog1.ToPage = 2 CommonDialog1.ShowPrinter
Printer.Orientation = CommonDialog1.Orientation 'ориентация листа Printer.Copies = CommonDialog1.Copies 'количество копий Printer.Print Text1.Text Printer.EndDoc Exit Sub Cansel: If Err.Number = cdlCancel Then Exit Sub Else MsgBox Err.Description End If End Sub
А вообще, как наверно стало понятно из главы 13 (если ты ее читал), то работа с принтером - дело непростое. Попробуй, исходя из этого поэкспериментировать со свойством .Flags и прочими делами.
Вместо методов. ShowOpen, .ShowSave и т. д. можно использовать свойство .Action. Это свойство не соответствует по своим признакам свойствам, так как заставляет объект выполнять действие (открывать диалоговое окно). Таким образом, метод .ShowOpen аналогичен свойству .Action:
оператору CommonDialog1.ShowOpen соответствует оператор CommonDialog1.Action = 1 оператору CommonDialog1.ShowSave соответствует оператор CommonDialog1.Action = 2 оператору CommonDialog1.ShowColor соответствует оператор CommonDialog1.Action = 3 оператору CommonDialog1.ShowFont соответствует оператор CommonDialog1.Action = 4 оператору CommonDialog1.ShowPrinter соответствует оператор CommonDialog1.Action = 5
Что такое стандартный модуль?
| Обычно программа, состоит из более, чем одной форм. Часто возникает необходимость использовать содержимое переменной, полученной в одной форме для обработки в другой. Однако переменные, объявленные в форме в разеле General доступны только внутри этой же формы (контейнера). Для того, чтобы нужные переменные, подпрограммы, функции были доступны во всей программе, во всех формах, их объявляют в стандартных модулях. Стандартный модуль в физическом смысле представляет собой файл с расширением.bas. Чтобы добавить стандартный модуль в exe-проект, надо в меню Проект (Project) щелкнуть по команде Добавить Модуль (Add Module) - рис. 26. Рисунок 26. После этого появиться окно добавления модуля рис.27 Рисунок 27. в котором надо щелкнуть по кнопке Open (открыть). После этого в окне проекта вы увидите новую папочку Модули, в которой появиться наш первый модуль Модуль1. Хотя его имя, конечно, можно поменять в нижнем окне свойств Рис 28. Рисунок 28. После этого ты можешь щелкнуть по Модуль1 в окне проекта и перед тобой откроется окно модуля, такое же как и окно кода формы. В отличие от формы, модуль не имеет вида Объект, в него нельзя встраивать никакие другие объекты, так как он контейнером не является. В него лишь можно записывать код абсолютно также, как и в форму. В чем же радость от модулей, поскольку мы вроде бы пока обходились и без них. Ну во-первых, как уже было сказано выше, объявленные в модуле переменные могут быть доступны во всем проекте, во всех его формах. Для этого переменная объявляется в разделе General с ключевым словом Public. Например
|