dialogos transparentes
Posted: Mon Mar 03, 2008 9:11 pm
Holas,
si les interesa el tema de transparencia, pueden probrar
saludos
Marcelo
si les interesa el tema de transparencia, pueden probrar
No pude hacer que la transparencia varie mientras cambia el slider, pero quien sabe alguien lo logre.#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"
saludos
Marcelo