Resumen Pasar un objeto Picture a una clase OLE Automation

Hace un par de dias atras preguntaba como poder pasar un
objeto Picture a un class de OLE Automation, finalmente
la solucion que encontre (se las envio a la lista por si
alguien la quiere) es la de enviar el handle del picture y
dibujar el picture con el API. Esto anda supuestamente para
servidores OLE In-Process (DLL) no lo probe en servidores
OutProcess por que supuestamente un hBitmap no es global
pero quien sabe... si quieren pruevenlo y si anda me cuentan.
El codigo puede verse algo asi :
'NOTA: lngPicHandle es un tipo LONG y lo seteo mediante una
'propiedad en un class, este es el codigo que va en el
'evento _Paint del form donde dibujo el picture
'Las declaraciones las pueden obtener del WINAPI.TXT, el type
'typBitmap es del tipo BITMAP y tambien esta en el WINAPI

    If lngPicHandle Then
        lngHDC = CreateCompatibleDC(Me.hdc)
        lngApiRet = GetObjectAPI(lngPicHandle, Len(typBitmap), typBitmap)
        lngOldObject = SelectObject(lngHDC, lngPicHandle)
        If lngOlbObject = 0 Then
        'No pudo seleccionar el objecto por lo que puede ser
        'invalido o bien es del tipo hIcon (no hay forma de
        'determinar directamente si un objeto es hIcon)
        lngApiRet = DrawIcon(Me.hdc,8,8,lngPicHandle)
        Exit sub
    End if
    lngApiRet = BitBlt(Me.hdc, 8, 8, typBitmap.bmWidth, typBitmap.bmHeight, lngHDC, 0, 0, SRCCOPY)
        lngApiRet = SelectObject(lngHDC, lngOldObject)
        lngApiRet = DeleteDC(lngHDC)
    End If
Ejemplo para mandar un handle: MyClass.PicProp=Picture1.Picture donde
Public Propery Let PicProp(lngHandle as long)

Perdon por la longitud del mensaje... espero que les pueda servir -
- NightWolf
____________________________________________________________________
Get free e-mail and a permanent address at http://www.netaddress.com



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com