si les interesa el tema de transparencia, pueden probrar
#include "fivewin.ch"
#include "Slider.ch"
FUNCTION main()
LOCAL oDlg, nTrans := 128, para
DEFINE DIALOG oDlg FROM 10,10 TO 20,40
@ 1,1 SLIDER nTrans OF oDlg;
HORIZONTAL ;
LEFT DIRECTION ;
RANGE 0, 255 ;
MARKS 25 ;
ON THUMBPOS ( setlayeredwindowattributes( oDlg:hWnd, 0, ntrans, 2 ), sysrefresh() );
ON CHANGE ( setlayeredwindowattributes( oDlg:hWnd, 0, ntrans, 2 ), sysrefresh() )
ACTIVATE DIALOG oDlg CENTER ON INIT ( para := getwindowlong( oDlg:hWnd, -20 ), ;
setwindowlong( oDlg:hWnd, -20, nOr( para, 524288 ) ) , ;
setlayeredwindowattributes( oDlg:hWnd, 0, ntrans, 2 ) )
RETURN(NIL)
DLL32 function getwindowlong( hwnd as LONG, index as LONG ) AS LONG PASCAL FROM "GetWindowLongA" lib "user32.dll"
DLL32 function setwindowlong( hwnd as LONG, index as LONG, newlog as LONG ) AS LONG PASCAL FROM "SetWindowLongA" lib "user32.dll"
DLL32 function setlayeredwindowattributes( hwnd as LONG, crkey as LONG, alpha as WORD, flag as LONG ) AS LONG PASCAL FROM "SetLayeredWindowAttributes" lib "user32.dll"
No pude hacer que la transparencia varie mientras cambia el slider, pero quien sabe alguien lo logre.
saludos
Marcelo