![]() |
|
Модераторы: mihanik |
![]()
|
|
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
С помощью функций Win32 я отрисовываю на форме макроса VBA график (требуется по ТЗ и потому что лучше ничего не нашел, в VB.NET есть стандартный элемент PictureBox с возможностями рисования в отличие от VBA, как вставить MS Chart на форму макроса, я тоже не понял, так что сделал как сделал). Стоит задача распечатать этот график, а если получится, то ещё и каким-то боком перед графиком вывести и данные (которые я до этого уже записал в n x n элементов формы Labels (по идее, и их тоже можно было сделать отрисовать через Win32, но что сделано, то уже сделано).
Насколько я понимаю, если эту задачу печати и можно реализовать, то надо либо писать вывод для печати напрямую в hDC принтера либо ставить другой компонент для печати и всё равно писать в hDC. Или опять лезть через Win32 API? Подскажите свои соображения. В VBA я достаточно новичок и поэтому мог проглядеть более эффективные решения. Это сообщение отредактировал(а) akizelokro - 30.3.2013, 08:38 -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
Пока сам не забыл. hDC, либо работа через application.ActivePrinter это всё можно.
по ссылке http://vbrus.narod.ru/Info2.htm пример для VB.Net, скорее всего. А так я нашёл штатный метод PrintForm. А задача распечатки части формы решилась достаточно просто, хоть и левым методом. Мне хотелось ещё цвет поменять на белый, на рабочей форме это было не желательно, так что я создал ещё одну форму, с белым фоном и обрезал по нужному размеру, скопировал оставшиеся элементы, заменил и у них фон на белый, и вместе с отрисовкой, не отображая эту вторую форму, вывел её на печать. Способ левый, но забавный. Это сообщение отредактировал(а) akizelokro - 31.3.2013, 21:02 -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |