Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Скриншот с формы / 6 сообщений из 6, страница 1 из 1
11.01.2009, 22:18
    #35751492
trok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скриншот с формы
Доброго времени суток. Написал прогу, в ней завершающим шагом, после расчетов строятся графики и соответственно эти графики надо сохранять как картинки. Впинципе сохраняется, но во-первых корявенький там механизм (надо делать их постоянно активными и небольшуб задержку для отрисовки), а во-вторых (главное) графики большие и если на моем монике(24") они влезают по центру экрана без проблем и скрины делаются нормально, то у других людей(19", 17") они вылазят за край экрана и при сохранении на картинкек от графика остается только та часть, которая осталась на экране, а остальное - черное поле. Есть ли возможность как-то сделать скриншот с формы(на форме много всего) избегнув этой проблемы?
...
Рейтинг: 0 / 0
15.01.2009, 19:27
    #35760102
trok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скриншот с формы
Ну неужели никто не знает как, считать данные с формы(наверно DC?) причем неважно где она находиться и сохранить ее в picturebox?
...
Рейтинг: 0 / 0
15.01.2009, 20:23
    #35760175
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скриншот с формы
авторНу неужели никто не знает как, считать данные с формы(наверно DC?) причем неважно где она находиться и сохранить ее в picturebox?
В моем примере 2 формы. Я нажимать на кнопку первой формы и она появляться в picturebox второй.

:0)

Form1:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Explicit
Private Declare Function PrintWindow Lib "user32" (ByVal hwnd As Long, ByVal hdcBlt As Long, ByVal nFlags As Long) As Long

Private Function CaptureImage(hwnd As Long) As Picture
    Form2.Picture1.Cls
    PrintWindow hwnd, Form2.Picture1.hdc, False     '-IncludeNC
    Set CaptureImage = Form2.Picture1.Image
End Function

Private Sub Command1_Click()
    Dim lngHwnd As Long
    lngHwnd = Me.hwnd
    Form2.Show
    CaptureImage lngHwnd
End Sub

Form2:

Код: plaintext
1.
2.
3.
4.
5.
Option Explicit

Private Sub Form_Load()
    Picture1.AutoRedraw = True
    Picture1.AutoSize = True
End Sub
...
Рейтинг: 0 / 0
16.01.2009, 01:40
    #35760433
trok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скриншот с формы
Способ, конечно, хороший, но он сохраняет всю форму включая кнопки и рамку, а мне бы их исключить.
...
Рейтинг: 0 / 0
16.01.2009, 17:39
    #35762099
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скриншот с формы
Ну да, как раз то, что тобой просилось: screenshot формы. Если желаешь чего-то другого, т.е. уже не формы, заявленной в топике, посмотри, как вытащить handles этого чего-то другого, если оно их имеет.
...
Рейтинг: 0 / 0
16.01.2009, 18:07
    #35762164
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скриншот с формы
trokНу неужели никто не знает как, считать данные с формы(наверно DC?) причем неважно где она находиться и сохранить ее в picturebox?Участок DC, не помещающийся на экран, не отрисовывается, если не указать это прямо. Элементарная экономия ресурсов.

Правильный выход — меняйть дизайн формы так, чтобы график помещался целиком при любом разрешении.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Скриншот с формы / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]