Tengo el siguiente código:
- Code: Select all Expand view
- METHOD New( cTitle, nBtnWidth, nBtnHeight, cFileName ) CLASS TMetro
DEFAULT cTitle := "MyApp", nBtnWidth := 132, nBtnHeight := 132
::cTitle = cTitle
::aButtons = {}
::nBtnWidth = nBtnWidth
::nBtnHeight = nBtnHeight
::nOriginX = 200
::nOriginY = 200
::nRow = 0
::nCol = 0
if File( cFileName )
::hBitmap = ReadBitmap( 0, cFileName )
endif
DEFINE FONT ::oFont NAME "Century Gothic" SIZE 0, -60
DEFINE FONT ::oFontA NAME "Century Gothic" SIZE 0, -40
DEFINE FONT ::oFontB NAME "Century Gothic" SIZE 0, -20
DEFINE FONT ::oFontC NAME "Century Gothic" SIZE 0, -10
DEFINE FONT ::oFontD NAME "Century Gothic" SIZE 0, -15
DEFINE WINDOW ::oWnd STYLE nOr( WS_POPUP, WS_VISIBLE ) COLOR CLR_WHITE, CLR_BLACK
return Self
...
...
cfondo=camino+'walpaper'+alltrim(tapiz->nombre)
...
...
oMetro:=TMetro():New('Gestión empresarial,,,cfondo,'')
...
...
METHOD Activate() CLASS TMetro
ACTIVATE WINDOW ::oWnd MAXIMIZED ;
ON PAINT ( DrawBitmap( hDC, ::hBitmap, 0, 0, GetSysMetrics( 0 ), GetSysMetrics( 1 ) ),;
::oWnd:Say( 3 , 16 , ::cTitle ,,, ::oFont ,, .T. ),;
::oWnd:Say( 8 , 28 , upper(substr(nempresa,1,1))+lower(substr(nempresa,2,54)) ,,, ::oFontA,, .T. ),;
::oWnd:Say( 40, 100 , '© Lorenzo Fernández' ,,, ::oFontC,, .T. ),;
::oWnd:Say( 41, 100 , 'Versión 11.13.1' ,,, ::oFontC,, .T. ),;
::oWnd:Say( 40, 16 , CDoW( Date() ) +', '+AllTrim( Str( Day( Date() ) ) ) +' de '+CMonth( DATE() ),,, ::oFontB,, .T. ),;
::oWnd:Say( 42, 16 , 'Usuario: '+usuario ,,, ::oFontD,, .T. ),;
::oWnd:Say( 44, 16 , 'Ruta de acceso: '+cruta ,,, ::oFontD,, .T. ) )
return nil
De esta manera obtengo el siguiente menú principal:
http://ge.tt/2yv3gj61/v/0
Ahora necesito cambiar el wallpaper a fondo NEGRO en tiempo de ejecución justo antes que se muestre un Dialogs, y restablecerlo cada vez que cierre el Dialogs
Mil gracias. Un saludo.
LORENZO.