powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Скриншот с формы
6 сообщений из 6, страница 1 из 1
Скриншот с формы
    #35751492
trok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. Написал прогу, в ней завершающим шагом, после расчетов строятся графики и соответственно эти графики надо сохранять как картинки. Впинципе сохраняется, но во-первых корявенький там механизм (надо делать их постоянно активными и небольшуб задержку для отрисовки), а во-вторых (главное) графики большие и если на моем монике(24") они влезают по центру экрана без проблем и скрины делаются нормально, то у других людей(19", 17") они вылазят за край экрана и при сохранении на картинкек от графика остается только та часть, которая осталась на экране, а остальное - черное поле. Есть ли возможность как-то сделать скриншот с формы(на форме много всего) избегнув этой проблемы?
...
Рейтинг: 0 / 0
Скриншот с формы
    #35760102
trok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну неужели никто не знает как, считать данные с формы(наверно DC?) причем неважно где она находиться и сохранить ее в picturebox?
...
Рейтинг: 0 / 0
Скриншот с формы
    #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
Скриншот с формы
    #35760433
trok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Способ, конечно, хороший, но он сохраняет всю форму включая кнопки и рамку, а мне бы их исключить.
...
Рейтинг: 0 / 0
Скриншот с формы
    #35762099
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, как раз то, что тобой просилось: screenshot формы. Если желаешь чего-то другого, т.е. уже не формы, заявленной в топике, посмотри, как вытащить handles этого чего-то другого, если оно их имеет.
...
Рейтинг: 0 / 0
Скриншот с формы
    #35762164
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trokНу неужели никто не знает как, считать данные с формы(наверно DC?) причем неважно где она находиться и сохранить ее в picturebox?Участок DC, не помещающийся на экран, не отрисовывается, если не указать это прямо. Элементарная экономия ресурсов.

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


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