Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Formularios transparentes
Message
From
09/10/2003 02:17:01
 
 
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00836173
Message ID:
00836653
Views:
15
En efecto, funcionarà en VFP6 con la ayuda de FoxTools para que se pueda obtener el Handle de la ventana el cual, con VFP7 ya viene incorporado como propiedad (Thisform.hWnd) , cosa que VFP6 y anteriores no poseia.


>Hola, Gustavo.

>>Agradeceria altamente me pudieran suministrar via correo electrónico un formulario de Visual FoxPro 6.0 (.SCX .SCT) que tenga caracteristicas de transparencia, los que he conseguido son unicamente para Visual Basic.

>Esto no depende tanto de la versión de Visual FoxPro como del sistema operativo que utilices. Te paso aquí la parte involucrada en una de mis clases. Lo que hace este formulario es aparecer poco a poco.
*-------------------- Evento Init 
with thisform
   * Invisible
   .Fade( 0 )
   * Despliega (invisible)
   .Show()
   * Hace visible gradualmente
   .Fade( +1 )
endif

*--------------------- Evento Destroy 
with thisform
   * Si está visible
   If .Visible
      * Desaparece gradualmente antes de cerrarse
      .Fade( -1 )
   EndIf
endwith

*--------------------- Método Fade
Lparameters tnMode as Number && +1 fade in, -1 fade out, 0 invisible

With thisform

   * Si es Top-level y Win2000 en adelante
   If .ShowWindow = 2 and Val( Os(3) ) >= 5

      If Empty( tnMode )

         SetWindowLong( .hWnd, -20, 0x00080000 )
         SetLayeredWindowAttributes( .hWnd, 0, 0, 2 )
      Else
         Local lnOpacity, lnFrom, lnTo, lnStep
         lnFrom = Iif( tnMode > 0, 0, 255 )
         lnTo   = Iif( tnMode > 0, 255, 0 )
         lnStep = tnMode * 25

         * Fade IN/OUT
         for lnOpacity = lnFrom to lnTo step lnStep

            SetWindowLong( .hWnd, -20, 0x00080000 )
            SetLayeredWindowAttributes( .hWnd, 0, lnOpacity, 2 )
         Next

         SetWindowLong( .hWnd, -20, 0x00080000 )
         SetLayeredWindowAttributes( .hWnd, 0, lnTo, 2 )
      EndIf
   endif
endwith
>El código está funcionando en Visual FoxPro 7 y 8, pero básicamente debería funcionar en Visual FoxPro 6 también, con algún cambio menor.

>Espero que te sea útil,
Apoya a Visual FoxPro usandolo legalmente
--
¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º
Espartaco Palma Martínez
SysOp PortalFox
http://www.portalfox.com
esparta@portalfox.com
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform