|
Nota: Este artículo has sido sacado de una lista de correo
sobre programación, su autor se desconoce.
Para poder colocar un icono de nuestra aplicación al lado del reloj,
tenemos que utilizar un control. Desde aquí podrás bajarte
el control OCX (Systray.ocx) y un ejemplo para aprender a usarlo.
Estos son los pasos a seguir para utilizar el control en nuestra aplicación:
Registrar el Control
Para ello, copiamos el control Systray.ocx en el directorio System del
Windows. Normalmente en C:\Windows\System. Una vez copiado, abrimos una
ventana del Ms-Dos (Menu Inicio,Programas,Ms-Dos) y nos colocamos en el
directorio System del Windows: cd \windows\system Ahora registramos el
control:
C:\Windows\System>regsvr32 systray.ocx
Nos aparecerá una pantalla del Windows que dirá: DllREgisterServer
in systray.ocx succeded. Ya podemos cerrar la ventana del Ms-Dos pulsando
exit. Apartir de ahora ya podemos utilizar este control en nuestra aplicación
sin ningún problema. Insertarlo en nuestra aplicación Abrimos la aplicación
de Visual Basic donde queremos utilizar el control.
Agregar el control a nuestra aplicación
Para ello, una vez abierta nuestra aplicación seleccionamos en el menú
del VB Proyecto y componentes. Nos aparecerá una ventana en la cual debemos
de seleccionar System Tray Icon Control y pulsar en aceptar. Ahora ya
tenemos el control en la barra de herramientas para poder utilizarlo en
nuestra aplicación. Es importante colocar el control en nuestro formulario
principal, de esta manera siempre podremos hacer referencia a él
desde cualquier lugar de nuestro programa. Pulsamos con el ratón dos veces
encima del control, y se colocará en nuestro formulario.
Propiedades del control Systray.ocx
Las propiedades a destacar de este control son:
? InTray = (True/False) Propiedad de Lectura/Escritura que determina
si aparece el icono en la barra de herramientas al lado del reloj (por
defecto es False).
? TrayIcon = Devuelve o establece el icono que por defecto aparecerá
en la barra de herramientas del Windows. Permite seleccionar cualquier
imagen, pero aconsejo que se utilicen iconos o cursores de 16x16 pixels.
? TrayTip = Es el equivalente a la propiedad ToolTipText de muchos
controles. Muestra un texto emergente cuando se pasa el ratón por encima
del icono que generamos en la barra de herramientas del Windows. Los eventos
de este control, son los mismos que puede tener la mayoría de controles,
por lo que no vamos a darle mayor importancia en su definición.
Utilizar el control Systray.ocx
1.- Cambiar el icono del control estando nuestro programa en funcionamiento.
Para cambiar el icono del control Systray estando en funcionamientos,
lo que tenemos que hacer, es colocar uno o varios controles image con
los iconos que queremos que aparezcan en la barra del Windows. De esta
manera, para cambiar el icono colocaremos:
Set cSysTray1.TrayIcon = Image1.Picture
También se puede cambiar el icono, sin tener que colocar un control imagen
en nuestra aplicación, la forma seria:
Set cSysTray1.TrayIcon = LoadPicture("Directorio\icono.ico")
Las dos maneras son correctas, aunque yo prefiero colocar el icono en
la aplicación, ya que el tamaño que ocupa es mínimo, y no hay ningún problema
de que no encuentre el icono en el directorio porque se haya movido, eliminado,
etc...
2.- Hacer aparecer un menú del icono en la barra de herramientas
del Windows. Para poder aparecer un menú del icono de la barra de herramientas,
hay que crear dicho menú en nuestra aplicación. (El menú puede estar invisible
en nuestra aplicación) Aquí utilizaremos el evento MouseDown del control
cSystray1. Quedaría algo así:
Private Sub cSysTray1_MouseDown(Button As Integer, Id
As Long)
If Button = 2 Then
PopupMenu MenuIcono
End Sub
Cuando Button=2, indica que se ha pulsado el botón derecho del Mouse,
y abrirá el menú que para este ejemplo hemos dado el nombre de MenuIcono.
Los menús emergentes, siempre se abren en la posición que esta el ratón,
por lo que en esta ocasión se abrirá encima del icono que hay en la barra
del Windows. Estas son las funciones principales de este icono que se
encuentra en la barra del Windows. También podemos utilizar el evento
MouseDblClick, para determinas cuando se pulsan dos veces encima del icono.
Nota: Es aconsejable cerrar el icono al finalizar la aplicación,
ya que puede quedar visible en la barra de herramientas del Windows. Para
ello, en el evento Form_unload, antes de cerrar tu aplicación coloca
cSystray1.InTray = False
|