Iconos en Menu
Transcript of Iconos en Menu
Sys.Ttray plugin versión
v1.0.0.1
Desde nuestra modesta experiencia y con ganas de aprender y mostrar lo aprendido sobre
Autoplay media estudio intentaremos hacer: Tutoriales traducciones ejemplos y todo lo
relacionado con AMS , en este caso tocaremos el tema plugins con el Sys.Tray v1.0.0.1,
plugin realizado por la gente de www.dnet-software.com.
Con este plugin podemos crear iconos en la bandeja del sistema aplicándoles acciones y menús con
ítems editables a nuestro gusto, puede ser un plugin muy útil en nuestros proyectos, un ejemplo
visual de un proyecto con Sys.tray y un menú seria este:
Este menú sería algo simple, nuestra imaginación puede hacer mas porque podemos cambiar ,tooltips
, icono en sí y muchas más cosas.
Las acciones que nos trae el plugin son estas:
SysTray.AddIcon
SysTray.Change
SysTray.RemoveIcon
SysTray.IsVisible
SysTray.CreateMenu
SysTray.MenuItem
SysTray.ShowMenu
SysTray.MenuBar
SysTray.OpenSubMenu
SysTray.CloseSubMenu
SysTray.DisableMenuItem
SysTray.MenuSetChecked
SysTray.MenuGetChecked
SysTray.MenuSetItemText
SysTray.MenuGetItemText
SysTray.CreateImageMenu
SysTray.SetToolTip
SysTray.SetIcon
SysTray.HideFromTaskBar
SysTray.AddIcon:
Descripción:
Añadir icono en la bandeja del sistema
Solo se puede añadir un icono al mismo tiempo
Parámetros:
Icon:
Selección de icono a añadir en la bandeja del sistema (String)
Tooltip:
Texto a visualizar en el tooltip del icono anterior (String)
Callback:
Función que nos devuelve los valores del icono creado (String)
MenuCallback:
Función que nos devuelve los valores del menú creado en la bandeja del sistema (String)
Retornos:
Devuelve una tabla de la situación de la acción, result.Success devuelve un valor booleano,
true si se ha creado el sistema de trayicon, falso si no se ha creado
En el caso de result.Success sea falso el mensaje de error será devuelto en result.Error (Tabla)
Ejemplo: tbTrayIcon = SysTray.AddIcon(_SourceFolder.."\\AutoPlay\\Icons\\group.ico", "Ejemplo
Systray", "SysTrayCallBack", "MenuCallBack");
if tbTrayIcon.Success then
SysTray.DisableMenuItem(100, 101, true);
else
Dialog.Message("Error",tbTrayIcon.Error)
end
SysTray.Change:
Descripción: Cambio de icono y tooltip en la bandeja del sistema
Parámetros:
Icon:
Ruta del icono a cambiar
Tooltip:
Texto a cambiar en el tooltip del icono anterior
Retornos:
Devuelve una tabla de la situación de la acción, result.Success devuelve un valor booleano,
true si se ha creado el sistema de trayicon, falso si no se ha creado
En el caso de result.Success sea falso el mensaje de error será devuelto en result.Error (Tabla)
Ejemplo: tbl = SysTray.Change("AutoPlay\\Icons\\Kirby.ico", "Cambia icono");
if tbl.Success then
-- icono cambiado
else
---En caso de error
Dialog.Message("Error",tbl.Error,);
SysTray.RemoveIcon:
Descripción: Elimina icono de la bandeja del sistema
Nota: esta función no funciona si primero no se ha llamado a Add.icon
Retornos: Esta acción no devuelve ningún valor
Ejemplo: --- Cuando se restaure la ventana borrar icono de la barra de sistema
if (e_Type == SIZE_RESTORED) then
SysTray.RemoveIcon()
end
SysTray.IsVisible
Descripción: Comprueba si el icono de la bandeja del sistema es visible
Retornos: Si esta visible devuelve true si no false ( booleano)
Ejemplo: result = SysTray.IsVisible();
Dialog.Message("Notice","IsVisible: "..tostring(result));
SysTray.CreateMenu
Descripción: Crear menú en la barra del sistema
Parámetros: MenuID :
( numero) valor numérico ID del menú
Retornos: Devuelve una tabla de la situación de la acción, result.Success devuelve un valor booleano,
true si se ha creado el sistema de trayicon, falso si no se ha creado
En el caso de result.Success sea falso el mensaje de error será devuelto en result.Error (Tabla)
Ejemplo: --- Creando menú
tbMenu=SysTray.CreateMenu(100);
--- Creando items en el menú
if tbMenu.Success then
SysTray.MenuItem(101, "Item 1");
SysTray.MenuItem(102, "Item 2");
SysTray.MenuBar();
SysTray.OpenSubMenu("Sub Menu");
SysTray.MenuItem(103, "Sub Item 1");
SysTray.MenuItem(104, "Sub Item 2");
SysTray.CloseSubMenu();
SysTray.MenuBar();
SysTray.MenuItem(105, "Item 3");
else
-- si al abrir el menú hay un error..mensaje
Dialog.Message("Error",tbMenu.Error)
end
SysTray.MenuItem
Descripción: Crear Item en el menú
Parámetros: ItemID :
( numero) valor numérico ID del ítem menú creado
Text:
Texto que reflejara el ítem menú ( String)
IconPath:
Ruta del icono a cargar en el ítem (string)
Nota: Este parámetro solo es valido cuando creamos menú bajo SysTray.CreateImageMenu
Retornos: Esta acción no devuelve ningún valor
Ejemplo: tbLeftClickMenu = SysTray.CreateImageMenu(100, true);
if tbLeftClickMenu.Success then
SysTray.MenuItem(101, "Restore", "AutoPlay\\Icons\\Restore.ico");
SysTray.MenuItem(102, "Help","AutoPlay\\Icons\\help.ico");
SysTray.MenuBar();
SysTray.OpenSubMenu("Links");
SysTray.MenuItem(103, "AIO Desings Blogs","AutoPlay\\Icons\\links.ico");
SysTray.MenuItem(104, "HackersHN","AutoPlay\\Icons\\Links.ico");
SysTray.MenuItem(105, "DarkReloaded","AutoPlay\\Icons\\links.ico");
SysTray.CloseSubMenu();
SysTray.MenuBar();
SysTray.MenuItem(106, "Exit","AutoPlay\\Icons\\Exit.ico");
else
--- mensaje en caso de error
Dialog.Message("Error",tbLeftClickMenu.Error)
end
SysTray.ShowMenu
Descripción: Lanzar menú creado anteriormente.
Parámetros: MenuID:
(Numero)Valor numérico ID del menú a mostrar.
Retornos: Esta acción no devuelve ningún valor.
Ejemplo: -----SysTrayCallback function
if stringButton == "LeftClick" then
result = SysTray.ShowMenu(100);
elseif stringButton == "RightClick" then
result = SysTray.ShowMenu(200)
-- Doble Click icono Restaurar/Minimizar aplicación
elseif stringButton == "LeftDoubleClick" then
if Invisible == "ON" then
Application.Restore();
Invisible ="OFF"
else
Application.Minimize();
Invisible = "ON"
end
SysTray.MenuBar
Descripción: Creación de barras separadoras en el menú actual.
Retornos: Esta acción no devuelve ningún valor.
Ejemplo: tbRightClickMenu=SysTray.CreateMenu(200);
if tbRightClickMenu.Success then
SysTray.MenuItem(201, "RightClick Item 1", 0);
SysTray.MenuItem(202, "RightClick Item 2", 0);
SysTray.MenuBar(); --- Separación entre items
SysTray.MenuItem(203, "RightClick Item 3", 0);
else
-- there was an error so show the message
Dialog.Message("Error",tbRightClickMenu.Error)
end
SysTray.OpenSubMenu
Descripción: Creación de un sub-menú dentro del menú actual , en el texto a mostrar en el ítem
Se puede utilizar el carácter '&' para subrayar una letra
NOTA: Para utilizar esta función es necesario llamar anteriormente a SysTray.ShowMenu o
SysTray.ShowImageMenu
Retornos: Esta acción no devuelve ningún valor.
Ejemplo: tbLeftClickMenu = SysTray.CreateImageMenu(100, true);
if tbLeftClickMenu.Success then
SysTray.MenuItem(101, "Restore", "AutoPlay\\Icons\\Restore.ico");
SysTray.MenuItem(102, "Help","AutoPlay\\Icons\\help.ico");
SysTray.MenuBar();
SysTray.OpenSubMenu("Links");
SysTray.MenuItem(103, "AIO Desings Blogs","AutoPlay\\Icons\\links.ico");
SysTray.MenuItem(104, "HackersHN","AutoPlay\\Icons\\Links.ico");
SysTray.MenuItem(105, "DarkReloaded","AutoPlay\\Icons\\links.ico");
SysTray.CloseSubMenu();
SysTray.MenuBar();
SysTray.MenuItem(106, "Exit","AutoPlay\\Icons\\Exit.ico");
else
--- mensaje en caso de error
Dialog.Message("Error",tbLeftClickMenu.Error)
end
SysTray.CloseSubMenu
Descripción: Cierre del sub-menú dentro del menú actual , en el texto a mostrar en el ítem
NOTA: Para utilizar esta función es necesario llamar anteriormente a SysTray.OpenSubMenu
Retornos: Esta acción no devuelve ningún valor.
Ejemplo: Sobre el ejmplo anterior…
SysTray.OpenSubMenu("Links");
SysTray.MenuItem(103, "AIO Desings Blogs","AutoPlay\\Icons\\links.ico");
SysTray.MenuItem(104, "HackersHN","AutoPlay\\Icons\\Links.ico");
SysTray.MenuItem(105, "DarkReloaded","AutoPlay\\Icons\\links.ico");
SysTray.CloseSubMenu();
SysTray.DisableMenuItem
Descripción: Habilitar o deshabilitar el ítem seleccionado bajo numericoID (Número)
Parámetros: MenuID:
Valor numérico ID en el menú (Numero)
ItemID:
Valor numérico ID en el ItemMenu(Numero)
Disable:
True para deshabilitar ítem (Booleano)
Retornos: Esta acción no devuelve ningún valor.
Ejemplo: SysTray.DisableMenuItem(100, 101, true);
True: false:
SysTray.MenuSetChecked
Descripción: Activa o desactiva un elemento del menú
Parámetros: MenuID:
Valor numérico ID en el menú (Numero)
ItemID:
Valor numérico ID en el ItemMenu(Numero)
Checked:
True para el Checkeo del itemMenu
Ejemplo: SysTray.MenuSetChecked(100, 101, true);
SysTray.MenuGetChecked
Descripción: Comprobación de estado de activación de un ítem del menú
Parámetros: MenuID:
Valor numérico ID en el menú (Numero)
ItemID:
Valor numérico ID en el ItemMenu(Numero)
Retornos: Devuelve true si el ítem del menú esta activado, false si no lo esta
Ejemplo:
- Muestra el estado de activación en un diálogo. Dialog.Message("Error","SetChecked: "..tostring(SysTray.MenuGetChecked(100, 101)))
SysTray.MenuSetItemText
Descripción: Establece el nuevo texto en un elemento de menú.
Parámetros: MenuID:
Valor numérico ID en el menú (Numero)
ItemID:
Valor numérico ID en el ItemMenu(Numero)
Text:
Texto a cambiar en el Ítem del menú
Retornos: Esta acción no devuelve ningún valor.
Ejemplo: if (e_Type == SIZE_MINIMIZED) then
SysTray.MenuSetItemText(100, 101, "Restore");
SysTray.HideFromTaskBar(Application.GetWndHandle(), true);-- Ocultamos botón barra tareas
end
if (e_Type == SIZE_RESTORED) then
SysTray.MenuSetItemText(100, 101, "Minimize");
SysTray.HideFromTaskBar(Application.GetWndHandle(), false)-- Mostramos Botón barra tareas
end
SysTray.MenuGetItemText
Descripción: Obtiene un nuevo texto en un elemento de menú.
Parámetros: MenuID:
Valor numérico ID en el menú (Numero)
ItemID:
Valor numérico ID en el ItemMenu(Numero)
Retornos: Devuelve una cadena de texto del elemento del menú y una cadena vacía en caso de error
Ejemplo:
txt=SysTray.MenuGetItemText(100, 101)--- Lamamos al texto del ItemMenu Dialog.Message("Error","MenuGetItemText: "..txt)—No s devuelve el texto en un mensaje
SysTray.CreateImageMenu
Descripción: Crear menú en la barra del sistema con iconos
Parámetros: MenuID:
(Numero) valor numérico ID del menú
ModernLook:
True activamos estilo moderno, false lo desactivamos
true: false:
Retornos: Devuelve una tabla de la situación de la acción, result.Success devuelve un valor booleano,
true si se ha creado el sistema de trayicon, falso si no se ha creado
En el caso de result.Success sea falso el mensaje de error será devuelto en result.Error (Tabla).
Ejemplo: tbLeftClickMenu = SysTray.CreateImageMenu(100, true);
if tbLeftClickMenu.Success then
SysTray.MenuItem(101, "Minimize", "AutoPlay\\Icons\\Restore.ico");
SysTray.MenuItem(102, "Help","AutoPlay\\Icons\\help.ico");
SysTray.MenuBar();
SysTray.OpenSubMenu("Links");
SysTray.MenuItem(103, "AIO Desings Blogs","AutoPlay\\Icons\\links.ico");
SysTray.MenuItem(104, "HackersHN","AutoPlay\\Icons\\Links.ico");
SysTray.MenuItem(105, "DarkReloaded","AutoPlay\\Icons\\links.ico");
SysTray.CloseSubMenu();
SysTray.MenuBar();
SysTray.MenuItem(106, "Exit","AutoPlay\\Icons\\Exit.ico");
else
--- mensage en caso de error
Dialog.Message("Error",tbLeftClickMenu.Error)
end
SysTray.SetToolTip
Descripción: Cambiar tooltip al icono de bandeja del sistema
Parametros: Tooltip:
Texto del tooltip a cambiar (string)
Retornos: Devuelve una tabla de la situación de la acción, result.Success devuelve un valor booleano,
true si se ha creado el sistema de trayicon, falso si no se ha creado
En el caso de result.Success sea falso el mensaje de error será devuelto en result.Error (Tabla).
Ejemplo:
tb = SysTray.SetToolTip("this is a new tool tip"); if tb.Success then -- tooltip Cambiado else -- En caso de error Dialog.Message("Error",tb.Error) end
SysTray.SetIcon
Descripción: Cambio del icono de la bandeja del sistema.
Parametros: Icon:
Icono a cambiar en la bandeja del sistema (String)
Retornos: Devuelve una tabla de la situación de la acción, result.Success devuelve un valor booleano,
true si se ha creado el sistema de trayicon, falso si no se ha creado
En el caso de result.Success sea falso el mensaje de error será devuelto en result.Error (Tabla).
SysTray.HideFromTaskBar
Descripción: Mostrar o ocultar el botón de la barra de tareas
Parametros: WindowID:
La ventana (hWnd) (Numero)
Hide:
True oculta el botón de la barra de tareas , false lo muestra
Retornos: Esta acción no devuelve ningún valor.
Ejemplo: if (e_Type == SIZE_MINIMIZED) then
SysTray.MenuSetItemText(100, 101, "Restore");
SysTray.HideFromTaskBar(Application.GetWndHandle(), true);-- Ocultamos botón barra tareas
end
if (e_Type == SIZE_RESTORED) then
SysTray.MenuSetItemText(100, 101, "Minimize");
SysTray.HideFromTaskBar(Application.GetWndHandle(), false)-- Mostramos Botón barra tareas
end
Realizado por raf@xplayer para http://aiodesings.wordpress.com/.