Принтер (Печатать Альбомный лист)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Принтер (Печатать Альбомный лист)

Сообщение Gemini » 16.07.2008 (Ср) 12:14

Добрый день! Подскажите пожалуйста как заставить принтер напечатать альбомный лист???
Я делаю так:

Код: Выделить всё
With Printer
.PaintPicture pic.Picture, 0, 0
.TrackDefault = True
End With


И получаеться что изображение выводиться на вертикальном листе...
(А мне надо на горизонтальном)
Пробовал изменять свойство Orientation
VB ругаеться!

Код: Выделить всё
With Printer
.Orientation=1 '.... 2 или 3 и т.д.
.PaintPicture pic.Picture, 0, 0
.TrackDefault = True
End With
В нашем деле главное ЛОГИКА.

косил косой косой косой.

HKEY_SUPER_MASHINE
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 78
Зарегистрирован: 02.07.2008 (Ср) 12:17
Откуда: Тольятти, школа, случайно

Сообщение HKEY_SUPER_MASHINE » 16.07.2008 (Ср) 12:40

А нельзя ли выводить диалог параметров печати из контрола Microsoft Common Dialog Control с помощью метода ShowPrint, затем изучить выходные данные?
Чипсы оставляют неприятный осадок в желудке
Их состав оставляет неприятный осадок в душе

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 16.07.2008 (Ср) 13:11

HKEY_SUPER_MASHINE писал(а):А нельзя ли выводить диалог параметров печати из контрола Microsoft Common Dialog Control с помощью метода ShowPrint, затем изучить выходные данные?


Нет нельзя всё автоматом должно быть!
------------------

Всё я разобрался:
Код: Выделить всё
With Printer
.Orientation = 2
.PaintPicture pic.Picture, 0, 0
'.TrackDefault = True
End With
В нашем деле главное ЛОГИКА.

косил косой косой косой.

HKEY_SUPER_MASHINE
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 78
Зарегистрирован: 02.07.2008 (Ср) 12:17
Откуда: Тольятти, школа, случайно

Сообщение HKEY_SUPER_MASHINE » 16.07.2008 (Ср) 13:46

Gemini писал(а):Нет нельзя всё автоматом должно быть!

Я в смысле "открой, изучи и используй результат обучения для своего проекта. Учекбный материал удали".
Чипсы оставляют неприятный осадок в желудке
Их состав оставляет неприятный осадок в душе

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Принтер (Печатать Альбомный лист)

Сообщение Viper » 16.07.2008 (Ср) 15:42

Gemini писал(а):Пробовал изменять свойство Orientation
VB ругаеться!

Код: Выделить всё
With Printer
.Orientation=1 '.... 2 или 3 и т.д.
.PaintPicture pic.Picture, 0, 0
.TrackDefault = True
End With
Как ругается? Путь то в принципе правильный. Надо исполбзовать свойство Orientation, только вот какие для него допустимые значения?
HKEY_SUPER_MASHINE, ты абсолютно не в теме!
Весь мир матрица, а мы в нем потоки байтов!

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 17.07.2008 (Чт) 7:54

F2 писал(а):Const vbPRORPortrait = 1
Member of VBRUN.PrinterObjectConstants
Const vbPRORLandscape = 2
Member of VBRUN.PrinterObjectConstants


Таким образом, код должен выглядеть так:

Код: Выделить всё
With Printer
.Orientation = vbPRORLandscape
.PaintPicture pic.Picture, 0, 0
End With


Остерегайтесь "магических" чисел...
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 61

    TopList