Как получить .hdc .hwnd с объекта созданого CreateObject

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Как получить .hdc .hwnd с объекта созданого CreateObject

Сообщение Memfivosfey » 24.03.2005 (Чт) 11:12

Подскажите, как правильно создать объект с помощью CreateObject, а после получить с него .hdc .hwnd например мне нужно создать PictureBox, но не на форме, а в памяти, как мне получить его Handlы...
Буду благодарен за код.
Заранее спасибо.
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.03.2005 (Чт) 11:32

Не надо с помощью CreateObject пикчербоксы создавать...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Сообщение Memfivosfey » 24.03.2005 (Чт) 11:43

Код: Выделить всё
Private Declare Function GetDesktopWindow 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

Const SRCCOPY = &HCC0020

Public Sub ScreenShot(FilePath As String)
    Dim hDesk As Long, hDeskDC As Long
    Dim hPic As Long

    hDesk = GetDesktopWindow()
    hDeskDC = GetDC(hDesk)
    BitBlt picShot.hDC, 0, 0, Screen.Width, Screen.Height, hDeskDC, 0, 0, SRCCOPY

    SavePicture icShot.Image, FilePath
End Sub


А если я хочу этот код без формы исполнить, тобишь, как функцию впихнуть в Dll. Как мне назначить picShot picturesом?! Помогите плиз...
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...

Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Сообщение Memfivosfey » 24.03.2005 (Чт) 13:59

И шо, так никто и не подскажет? Или енто не реально?
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 24.03.2005 (Чт) 14:31

Memfivosfey, привет!

Не, ну а за чем тебе пикчербокс в памяти то создавать?...
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Сообщение Memfivosfey » 24.03.2005 (Чт) 14:43

Хочу Function забабахать...
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 24.03.2005 (Чт) 15:00

Хочу Function забабахать...


А по подробнее можно? Может есть другие решения?...
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

    TopList