Tray System

Post Reply
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Tray System

Post by goosfancito »

Estimados:

Quiero hacer que cuando mi programa en xHarbour este corriendo se muestre en el systray (al lado del reloj, por ejemplo) un ícono indicando que esta siendo utilizado el programa.

Me pueden dar una idea del mismo.

Gracias.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Gustavo,

Revisa el ejemplo samples\TestTray.prg.

De paso, te pido que uses una foto personal tuya como "avatar". Gracias.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Post by goosfancito »

[quote="Antonio Linares"]Gustavo,

Revisa el ejemplo samples\TestTray.prg.

De paso, te pido que uses una foto personal tuya como "avatar". Gracias.[/quote]

Con respecto a la foto, puse esa porque pensé que habias autorizado a usar cualquiera, ya que vi que otros usuarios la tienen.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Gustavo,

Estamos pidiéndole a todos los usuarios que proporcionen una foto personal. Las que no sean fotos personales se borrarán en breve.
regards, saludos

Antonio Linares
www.fivetechsoft.com
DanielPuente
Posts: 108
Joined: Sun Oct 09, 2005 6:12 pm
Location: Mar del Plata - Argentina
Contact:

Post by DanielPuente »

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,
Daniel Puente
Mar del Plata, Argentina
danielpuente@speedy.com.ar
puenteda@hotmail.com
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Grac ias a todos.

Post by goosfancito »

Tema cerrado.
Post Reply