Плз посмотрите чета я не понимаю кусок проги

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Kiryusha
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 216
Зарегистрирован: 30.08.2005 (Вт) 10:56
Откуда: УР, Ижевск

Плз посмотрите чета я не понимаю кусок проги

Сообщение Kiryusha » 04.05.2006 (Чт) 20:54

Код: Выделить всё

Public Sub DrawFrame( _
      ByVal lhDC As Long, _
      ByVal Index As Long, _
      Optional ByVal x As Long = 0, _
      Optional ByVal y As Long = 0, _
      Optional ByVal lWidth As Long = -1, _
      Optional ByVal lHeight As Long = -1, _
      Optional ByVal Transparent As Boolean = False _
   )
Dim lpBI As Long
Dim hDCComp As Long
Dim hBmp As Long
Dim hBmpOld As Long

   ' Prepare parameters:
   If (lWidth < 0) Then lWidth = Width
   If (lHeight < 0) Then lHeight = Height
   Index = Index - 1

   ' Get the uncompressed frame:
   lpBI = AVIStreamGetFrame(ByVal m_pGF, Index)
   If (lpBI) Then
      If (Transparent) Then
         ' Create a work dc
         hDCComp = CreateCompatibleDC(lhDC)
         hBmp = CreateCompatibleBitmap(lhDC, lWidth, lHeight)
         hBmpOld = SelectObject(hDCComp, hBmp)
         
         DrawDibDraw m_hDrawDib, hDCComp, 0, 0, _
                     lWidth, lHeight, ByVal lpBI, ByVal 0&, _
                     0, 0, -1, -1, 0
         
         DrawTransparent hDCComp, lhDC, x, y, lWidth, lHeight
         
         SelectObject hDCComp, hBmpOld
         DeleteObject hBmp
         DeleteDC hDCComp
      Else
         ' Draw it directly onto the display:
         DrawDibDraw m_hDrawDib, lhDC, x, y, _
            lWidth, lHeight, ByVal lpBI, ByVal 0&, _
            0, 0, -1, -1, 0
      End If
   End If
   
End Sub


Кароче нихера не панимаю, прога сама раскладывает ави файл на кадры вот эта процедурка прорисовывает на сколько я понял в пикчербоксе кадр lhDC - это hDC пикчера, Index - номер кадра, вот, как я понимаю DrawDibDraw собсно и прорисовывает кадр как таковой или нет? и почему когда я через винсок отправляю m_hDrawDib, lpBI и делаю то же самое из другой проги кадр не прорисовывается? ХЭЛП ПЛЗ
Судебно-медицинское вскрытие показало, что чукча умер в
результате судебно-медицинского вскрытия.

Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

Сообщение Gotha » 04.05.2006 (Чт) 21:17

потому, что ты отправляешь адреса, а не буфера данных
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Плз посмотрите чета я не понимаю кусок проги

Сообщение alibek » 05.05.2006 (Пт) 8:08

Kiryusha писал(а):Кароче нихера не панимаю

Это бывает, когда бездумно используется копипаст.
Строгое замечание за безграмотность и ругань.
Lasciate ogni speranza, voi ch'entrate.


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

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

Сейчас этот форум просматривают: Google-бот и гости: 2

    TopList