FoxPro/Visual FoxPro - Programa Systray

 
Vista:

Programa Systray

Publicado por Carlos (27 intervenciones) el 15/06/2007 00:28:11
Hola a todos:
Como puedo hacer que un programa al minimizarlo se coloque en la barra de estado(Systray)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Programa Systray

Publicado por Ernesto Hernandez (4623 intervenciones) el 15/06/2007 01:44:08
prueba esto

Local oForm, lcPath
* Abrimos la biblioteca Systray
Set Classlib To (Home() + "Samples\Solution\Toledo\Systray") Additive
* Instanciamos el formulario de ejemplo
oForm = CreateObject("frmMinToTray")
* Verificamos la creación del objeto
If Vartype( oForm ) == "O"
* Si se creó, mostramos el formulario
oForm.Show()
* Iniciamos el bucle de lectura de eventos
Read Events
Else
* Sino, mostramos un mensaje de error
MessageBox( "Ocurrió un problema al crear el formulario", ;
16, "Ejemplo de MinToTray" )
EndIf
* Liberamos la biblioteca
Set Classlib To
* Finalizamos la ejecución
Return
**************************************************
* Definición del formulario de ejemplo *
**************************************************
Define Class frmMinToTray As Form
* Establecemos valores para algunas propiedades
Top = 0
Left = 0
Height = 142
Width = 375
ShowWindow = 2 && - Formulario de Nivel Superior
DoCreate = .T.
Caption = "Ejemplo de MinToTray"
Name = "frmMinToTray"
* Agregamos un CheckBox para definir si se minimizará al Systray o no.
Add Object chkMinToTray As CheckBox With ;
Top = 60, ;
Left = 84, ;
Height = 17, ;
Width = 209, ;
AutoSize = .T., ;
BackStyle = 0, ;
Caption = "Minimizar a la bandeja del sistema", ;
Value = .F., ;
Name = "chkMinToTray"
* Agregamos el manejador de la bandeja del sistema
Add Object oSysTray As SysTray With ;
Top = 0, ;
Left = 0, ;
AddIconToSysTrayAtInit = .F., ;
Name = "oSysTray"
* En el evento Deactivate vamos a codificar la funcionalidad
Procedure Deactivate
Local lcLib As String
With This
* Si el evento Deactivate se disparó por Minizar
* y el CheckBox está tildado, minizamos al SysTray
If .WindowState = 1 And .chkMinToTray.Value
With .oSysTray
***lcLib = .ClassLibrary
***Set Classlib To (lcLib) Additive
* Indicamos el ícono que se mostrará en el SysTray
.IconFile = HOME() + "Graphics\Icons\Misc\Face03.ico"
* Indicamos el texto emergente que se mostrará
.TipText = Thisform.Caption
* Agregamos el ícono al SysTray
.AddIconToSysTray()
EndWith
* Además, ocultamos el formulario
.Visible = .F.
EndIf
EndWith
EndProc
* Atendemos el evento que se dispara por Doble Clic en el Systray
Procedure oSysTray.IconDblClickEvent
With Thisform
* Restauramos el formulario
.WindowState = 0
* y lo hacemos visible
.Visible = .T.
EndWith
* Además, quitamos el ícono del Systray
This.RemoveIconFromSysTray()
EndProc
* Este evento se dispara al cerrar el formulario
Procedure QueryUnLoad
* Salimos del bucle de eventos
Clear Events
EndProc
EndDefine


Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Programa Systray

Publicado por Plinio (7841 intervenciones) el 15/06/2007 14:31:12
http://www.news2news.com/vfp/?example=336&function=-1&xpg=1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar