by DanielPuente » Mon Oct 31, 2005 2:16 pm
Gustavo:
Static oTray, oTrayMenu
static oTaskBarIcon, oIcon
DEFINE ICON oIco RESOURCE "PETROSUR"
DEFINE WINDOW oWnd FROM 0,0 TO 23, 79 ;
TITLE OEMTOANSI("Petrosur S.R.L. * Actualizador de datos en servidor MYSQL");
ICON oIco ;
MENU BuildMenu();
COLOR CLR_BLACK, RGB(88,102,129)
oWnd:bTaskBar := { | nWParam, nLParam | TaskBar( nWParam, nLParam ) }
ACTIVATE WINDOW oWnd MAXIMIZED ;
ON INIT (SetUpTray(oBmp),IF(LOGIN(),(cLogin:=.T.,Start(), MuestraUsuario()), oWnd:End()));
VALID FINALIZAR(oTray)
Function SetUpTray(oBmp)
Local oIcon
DEFINE ICON oIcon RESOURCE "PETROSUR" //"SANTAC"
oTray := TaskAddIcon( oWnd, oIcon, "Programa Actualizador MYSQL" )
Return NIL
Function RMenu(r,c)
Local oMenu
MENU oMenu POPUP
MENUITEM "Abrir Programa Actualizador MYSQL" ACTION ( oWnd:Show() )
MENUITEM "Cerrar Programa Actualizador MYSQL" ACTION ( oWnd:end() )
ENDMENU
ACTIVATE POPUP oMenu OF oWnd AT r,c
Return NIL
Function TaskBar( nWParam, nLParam )
Local a := array(2)
static lWorking := .f.
if ! lWorking
lWorking = .t.
do case
case nLParam == WM_LBUTTONUP
case nLParam == WM_RBUTTONUP
a := GetCursorPos()
a = ScreenToClient( oWnd:hWnd, a )
RMenu(a[1],a[2])
endcase
lWorking = .f.
endif
return nil
FUNCTION FINALIZAR()
LOCAL RET:=.F.
SALIR:=99
IF cProcesando
ELSE
RET:=.T.
ENDIF
if oMysql # nil .and. ret
oMysql:Close()
endif
if ret
TaskDelIcon( oTray )
IF oTmr # nil
oTmr:Deactivate()
ENDIF
endif
RETURN RET
Saludos,