FoxPro/Visual FoxPro - APLICACON EN LA BARRA DE TAREAS

 
Vista:

APLICACON EN LA BARRA DE TAREAS

Publicado por MARTIN GOMEZ (2 intervenciones) el 08/05/2006 18:07:49
ES POSIBLE COLOCAR EL PROGRAMA EN LA BARRA DE TAREAS, QUE SE VEA EL ICONO DE LA APLICACION,

EJEMPLO:

DONDE SE PONE LA LA HORA,
DONDE SE PONE EL ICONO DEL MESSENGER,
Y TODAS LAS APLICACIONES ACTIVAS Q UNO QUIERE QUE SE VEAN,

SERA POSIBLE
GRACIAS
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:APLICACON EN LA BARRA DE TAREAS

Publicado por Ernesto Hernandez (4623 intervenciones) el 08/05/2006 22:51:04
Esta rutina fue publicada por el compañero Esteban Bruno en www.portalfox.com

espero te sirva

En este artículo le muestro como poder llevar a cabo esta implementación usando código nativo de VFP. Para ello vamos a valernos de una biblioteca de clases visuales que ha sido instalada junto al paquete de Visual FoxPro y que nos proporciona las herramientas necesarias para poder agregar iconos a la bandeja del sistema y controlar los eventos que sucedan sobre los mismos. La biblioteca se llama SYSTRAY.VCX y se encuentra en Home() + "Samples\Solution\Toledo" (entiéndase por Home() la carpeta donde está instalado VFP).

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
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