Сложная печать картинки...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TNG
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 09.02.2004 (Пн) 21:15
Откуда: Russia

Сложная печать картинки...

Сообщение TNG » 26.04.2004 (Пн) 22:42

Мне необходимо распечатать обыкновенную форму, допустим Form1, но при этом надо, чтобы печаталось сразу несколько экземпляров на одном листе, с задаными размерами, отступами между друг другом и краями. Как так сделать? Помогите, Please!!!
Все будет ОК!

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 27.04.2004 (Вт) 3:57

Я тебе могу предложить такой вариант ...
Делаешь ПРИНТСКРИН формы ... засовываешь его в картинку, picture1 у которой visibled=False ф потом на принтер отправляешь страницы как тебе нужно с учетом любого интервала:)
Picture1.AutoRedraw = TRUE
Вот код, по деланью принтскринов.

Код: Выделить всё
Private Declare Function GetFocus Lib "user32" () As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function BitBlt Lib "gdi32" _
          (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, _
          ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, _
          ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Const SRCCOPY = &HCC0020

Sab MakePrntScr()
Dim hDesk, hDeskDC
CurHDC = GetFocus
hDesk = CurHDC
hDeskDC = GetDC(hDesk)
BitBlt Picture1.hDC, 0, 0, Width, Height, hDeskDC, 0, 0, SRCCOPY



могу предложить проектик, который я использую чтобы получать картинки с формы и сохраняти их в определенную дирректорию
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

TNG
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 09.02.2004 (Пн) 21:15
Откуда: Russia

Сообщение TNG » 27.04.2004 (Вт) 19:08

А это на всех Виндах будет идти? У меня-то XP, а вот друганы говорят, что такой трюк ни везде проходит: в других Виндах ПринтСкрин делается на весь экран, а не только на форму.
Все будет ОК!

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 27.04.2004 (Вт) 22:36

Феничка состоит в том, что "Делая ПРИНТСКРИН" ты просто указываешь в качестве источника не wHDC именно окна ... короче щас размещу проет ... где я для себя программку делал принскрины автоматом получать ... у меня в 2000й и 98й работало безотказно
Вложения
AutoPrnt.zip
Автокопирование с сохранением в файл и отображением. Инструкция. Щелкаешь по нужному окну. Потом "Выбрать", и далее пользуешься кнопочками "Автоссесия" - 1 снимок в секунду делает. Если не стоит галочка "Сохранять в файл" - то снимок просто для превью. Од
(2.94 Кб) Скачиваний: 32
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)


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

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

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

    TopList