Создание предпросмотра печати документа?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Alex_new_2030
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 118
Зарегистрирован: 20.02.2003 (Чт) 8:00
Откуда: Kazakhstan

Создание предпросмотра печати документа?

Сообщение Alex_new_2030 » 04.12.2003 (Чт) 15:34

Делаю программу с выводом результатов работы на принтер.
Печатаю с помощью объекта printer (printer.print "текст для печати")
Вот хочу сделать предпросмотр того что будет напечатано.
На форму кинул объект PictureBox и напечатал все в него (picture1.print "текст для печати") все получилось cool.
Далее захотел сделать увеличение и уменьшение листа просмотра, однако оказалось что у picturebox'а нет свойства stretch, которое есть у ImageBox'а.
Решил перекинуть нарисованную картинку из PictureBox в ImageBox, а затем маштабировать ImageBox сколько душа пожелает - да не тут то было. Не хочет он картинку из PictureBox в ImageBox перекидывать (image1.picture=picture1.picture) :( . Хотя если в PictureBox предварительно загрузишь картинку из файла, то ее он перекидывает.
Что можно придумать? Может кто подскажет?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.12.2003 (Пт) 10:14

Ну попробуй метод PaintPicture поюзать :roll:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 05.12.2003 (Пт) 11:40

Должно быть Picture1.AutoRedraw=True
Код: Выделить всё
Set Image1.Picture = Picture1.Image
Lasciate ogni speranza, voi ch'entrate.

Alex_new_2030
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 118
Зарегистрирован: 20.02.2003 (Чт) 8:00
Откуда: Kazakhstan

Сообщение Alex_new_2030 » 05.12.2003 (Пт) 12:39

Cool :)
Код: Выделить всё
Set Image1.Picture = Picture1.Image


Работает!!!
Большое спасибо.

Oldman
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 10.11.2003 (Пн) 12:23
Откуда: ТРТУ

Сообщение Oldman » 27.01.2004 (Вт) 16:40

Я тоже занимаюсь этой проблемой (субж). Но у меня другая проблема:
У меня заполняется Flex, к ней пририсовывается заголовок, номер страницы и тогда можно на печать. Но при выводе на печать изображение с очень плохим разрешением. Все буквы в квадратиках. Как побороть данный глюк?
И на экране тоже хрен чего видно...
Как быть?
Код: Выделить всё
  Pict1.PaintPicture Flex1.Picture, (Pict1.Width - Flex1.Width) / 2, 500
  Im1.Height = Pict1.Height
  Im1.Width = Pict1.Width
  Flex1.Visible = False
  Set Im1.Picture = Pict1.Image
  Pict1.Visible = False
  Im1.Stretch = True
  Im1.Height = PreViewF.Height - 500
  Im1.Width = Int(Im1.Height / 1.414)

где Pict1 - пикчербокс, Flex1 - MSHFlexGrid, Im1 - ImageBox.
Ежики не колются, только бухают иногда


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

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

Сейчас этот форум просматривают: SemrushBot и гости: 21

    TopList