Minimizar ventana
Posted: Thu Oct 16, 2014 12:47 pm
Buenas compañeros:
Tengo este código (Simplificado)
Para minimizar la ventana manualmente ¿como puedo hacer?
Intento con:
... action ::oWnd:Minimize()
pero me genera un error del tipo: Error BASE/1004 Class: 'NIL' has no exported method: OWND
¿Cómo lo puedo hacer?
Mil gracias.
Un saludo.
LORENZO
Tengo este código (Simplificado)
Code: Select all
#xcommand DEFINE METRO <oMtr> [ BACKGROUND <cFileName> ] [ BTNSIZE <nBtnWidth>, <nBtnHeight> ] [ TITLE <cTitle> ] ;
=> <oMtr> := TMetro():New( <cTitle>, <nBtnWidth>, <nBtnHeight>, <cFileName> )
#xcommand DEFINE METROBUTTON [<oBtn>] [ PROMPT <cPrompt> ] [ COLOR <nClrText>, <nClrPane> ] [ IMAGE <cImgName> ] ;
[ OF <oMetro> ] [ <large: LARGE> ] [ <lminimiza: MINIMIZA> ] [ ACTION <uAction,...> ] ;
=> [ <oBtn> := ] <oMetro>:AddButton( <cPrompt>, <nClrText>, <nClrPane>, <.large.>, <.lminimiza.>, <cImgName>, [{||<uAction>}] )
#xcommand ACTIVATE METRO <oMtr> => <oMtr>:Activate()
oMetro:=TMetro():New('Gestión empresarial',,,,'')
DEFINE METROBUTTON OF oMetro PROMPT "Clientes" COLOR CLR_WHITE, RGB( 002, 174, 224 ) IMAGE camino+"\images\metro\users.BMP" action clie(1)
DEFINE METROBUTTON OF oMetro PROMPT "Minimizar" COLOR CLR_WHITE, RGB( 002, 174, 224 ) IMAGE camino+"\images\metro\minimo.BMP" action ::oWnd:Minimize()
oMetro:activate()
//--------------------------------//
CLASS TMetro
DATA oWnd, oFont, oFontB, oFontA, oFontC, oFontD
DATA cFileName
DATA aButtons
DATA nOriginX, nOriginY
DATA nBtnWidth, nBtnHeight
DATA cTitle
DATA nRow, nCol
DATA oTimer
DATA hBitmap
METHOD New( cTitle, nBtnWidth, nBtnHeight, cFileName )
METHOD Activate()
METHOD AddButton( cCaption, nClrText, nClrPane, lLarge, lminimiza, cImgName, bAction )
METHOD End() INLINE ::oWnd:End()
ENDCLASS
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 WINDOW ::oWnd STYLE nOr( WS_POPUP, WS_VISIBLE ) COLOR CLR_WHITE, CLR_BLACK
return Self
//----------------------------------------------------------------------------//
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( 42, 16 , 'Ruta de acceso: '+cruta ,,, ::oFontD,, .T. ) )
return nil
Intento con:
... action ::oWnd:Minimize()
pero me genera un error del tipo: Error BASE/1004 Class: 'NIL' has no exported method: OWND
¿Cómo lo puedo hacer?
Mil gracias.
Un saludo.
LORENZO