Распечатать определенную область (компонент) - PullRequest
2 голосов
/ 06 сентября 2011

Создание приложения VB с использованием VB6. Часть приложения показывает вспышку внутри. Когда я использую printform, он просто печатает все приложение. Я не знаю, как напечатать часть вспышки в одиночку. Любая помощь будет оценена! ..

enter image description here

Спасибо.

Ответы [ 3 ]

3 голосов
/ 06 сентября 2011

VB's .PrintForm метод чрезвычайно ограничен и выполняет только «печать всей клиентской области», поэтому вы не можете использовать его для печати определенного элемента управления без его заполнения всей формы.

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

0 голосов
/ 07 сентября 2011

Вот некоторый код с отличного сайта VBHelper

При этом используется функция API keybd_event для имитации нажатия Alt-PrntScrn для помещения изображения формы в буфер обмена.Он вставляет изображение в скрытый PictureBox.Затем он определяет, где внутри изображения находится целевой элемент управления, и использует PaintPicture для копирования этой части изображения в объект «Принтер».

Не аккуратно, но он может выполнить работу за вас.

0 голосов
/ 06 сентября 2011

Когда я столкнулся с подобной проблемой, я использовал несколько кадров для удержания элемента управления. Перед печатью я сделал несколько скрытых кадров, которые не нужно печатать. Затем вызывая printForm. И после вызова снова показывал скрытые кадры

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...