Funcion original de Daniel,
http://forums.fivetechsupport.com/viewtopic.php?f=6&t=22517&p=120188&hilit=BlurEffect#p120083
modificada a mis necesidades...
BlurEffect( oDIALOG, nTimes, lForWard, WinXp)
oDialog == objeto a pintar vidrio opaco //dialogo, ventana, boton, foto, etc...
nTimes == Veces a ser pintado para crear un efecto de movimiento o degradado /// yo uso 8 para que no tarde mucho en Win7
lForward == .T. hacia adelante, .F. Hacia atras...
WinXp == .T. Windows Xp, .F. Windows Vista o Win7 ///Lo que pasa es que Xp es mucho más lento
Puedes usarlo asÃ:
FUNCTION BlurEffect( oDIALOG, nTimes, lForWard, WinXp)
  LOCAL hBmp, i, hBlur
 Â
  DEFAULT nTimes := 4, lForWard := .T., WinXp := .T.
 Â
  SysRefresh()
 Â
  oDIALOG:GetDC()
 Â
  hBmp := MakeBkBmp( oDIALOG:hWnd , oDIALOG:hDC )
 Â
  If IsWin7() .AND. !WinXp
    FOR i := 1 TO nTimes
      If( !lForWard, nTimes := nTimes - 1 , )
   Â
      hBlur := Blur( hBmp , If( lForWard, i , nTimes * 2 ) )
     Â
      PalBmpDraw( oDIALOG:hDC , 0 , 0 , hBlur )
    Next
  Else
    hBlur := Blur( hBmp , nTimes * 2 )
   Â
    PalBmpDraw( oDIALOG:hDC , 0 , 0 , hBlur )
  EndIf
 Â
  DeleteObject( hBmp )
  DeleteObject( hBlur )
 Â
  oDIALOG:ReleaseDC()
RETURN NIL
Para quitar el efecto, basta con un simple
=====>
Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala
FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10
FiveWin, One line of code and it's done...