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 aplicndoles acciones y mens 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 sera algo simple, nuestra imaginacin puede hacer mas porque podemos cambiar ,tooltips , icono en s y muchas ms 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: Descripcin:
Aadir icono en la bandeja del sistema Solo se puede aadir un icono al mismo tiempo Parmetros:
Icon: Seleccin de icono a aadir en la bandeja del sistema (String) Tooltip: Texto a visualizar en el tooltip del icono anterior (String) Callback: Funcin que nos devuelve los valores del icono creado (String) MenuCallback: Funcin que nos devuelve los valores del men creado en la bandeja del sistema (String) Retornos:
Devuelve una tabla de la situacin de la accin, 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: Descripcin: Cambio de icono y tooltip en la bandeja del sistema Parmetros:
Icon: Ruta del icono a cambiar Tooltip: Texto a cambiar en el tooltip del icono anterior Retornos:
Devuelve una tabla de la situacin de la accin, 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: Descripcin: Elimina icono de la bandeja del sistema Nota: esta funcin no funciona si primero no se ha llamado a Add.icon Retornos: Esta accin no devuelve ningn 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 Descripcin: 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 Descripcin: Crear men en la barra del sistema Parmetros: MenuID : ( numero) valor numrico ID del men Retornos: Devuelve una tabla de la situacin de la accin, 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 Descripcin: Crear Item en el men Parmetros: ItemID : ( numero) valor numrico 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 parmetro solo es valido cuando creamos men bajo SysTray.CreateImageMenu Retornos: Esta accin no devuelve ningn 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 Descripcin: Lanzar men creado anteriormente. Parmetros: MenuID: (Numero)Valor numrico ID del men a mostrar. Retornos: Esta accin no devuelve ningn 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 aplicacin elseif stringButton == "LeftDoubleClick" then if Invisible == "ON" then Application.Restore(); Invisible ="OFF" else Application.Minimize(); Invisible = "ON" end SysTray.MenuBar Descripcin: Creacin de barras separadoras en el men actual. Retornos: Esta accin no devuelve ningn 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(); --- Separacin 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 Descripcin: Creacin de un sub-men dentro del men actual , en el texto a mostrar en el tem Se puede utilizar el carcter '&' para subrayar una letra NOTA: Para utilizar esta funcin es necesario llamar anteriormente a SysTray.ShowMenu o SysTray.ShowImageMenu Retornos: Esta accin no devuelve ningn 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 Descripcin: Cierre del sub-men dentro del men actual , en el texto a mostrar en el tem NOTA: Para utilizar esta funcin es necesario llamar anteriormente a SysTray.OpenSubMenu Retornos: Esta accin no devuelve ningn 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 Descripcin: Habilitar o deshabilitar el tem seleccionado bajo numericoID (Nmero) Parmetros: MenuID: Valor numrico ID en el men (Numero) ItemID: Valor numrico ID en el ItemMenu(Numero) Disable: True para deshabilitar tem (Booleano) Retornos: Esta accin no devuelve ningn valor. Ejemplo: SysTray.DisableMenuItem(100, 101, true); True: false: SysTray.MenuSetChecked Descripcin: Activa o desactiva un elemento del men Parmetros: MenuID: Valor numrico ID en el men (Numero) ItemID: Valor numrico ID en el ItemMenu(Numero) Checked: True para el Checkeo del itemMenu
Ejemplo: SysTray.MenuSetChecked(100, 101, true);
SysTray.MenuGetChecked Descripcin: Comprobacin de estado de activacin de un tem del men Parmetros: MenuID: Valor numrico ID en el men (Numero) ItemID: Valor numrico 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 activacin en un dilogo. Dialog.Message("Error","SetChecked: "..tostring(SysTray.MenuGetChecked(100, 101)))
SysTray.MenuSetItemText Descripcin: Establece el nuevo texto en un elemento de men. Parmetros: MenuID: Valor numrico ID en el men (Numero) ItemID: Valor numrico ID en el ItemMenu(Numero) Text: Texto a cambiar en el tem del men Retornos: Esta accin no devuelve ningn valor. Ejemplo: if (e_Type == SIZE_MINIMIZED) then SysTray.MenuSetItemText(100, 101, "Restore"); SysTray.HideFromTaskBar(Application.GetWndHandle(), true);-- Ocultamos botn barra tareas end if (e_Type == SIZE_RESTORED) then SysTray.MenuSetItemText(100, 101, "Minimize"); SysTray.HideFromTaskBar(Application.GetWndHandle(), false)-- Mostramos Botn barra tareas end SysTray.MenuGetItemText Descripcin: Obtiene un nuevo texto en un elemento de men. Parmetros: MenuID: Valor numrico ID en el men (Numero) ItemID: Valor numrico ID en el ItemMenu(Numero) Retornos: Devuelve una cadena de texto del elemento del men y una cadena vaca en caso de error Ejemplo: txt=SysTray.MenuGetItemText(100, 101)--- Lamamos al texto del ItemMenu Dialog.Message("Error","MenuGetItemText: "..txt)Nos devuelve el texto en un mensaje SysTray.CreateImageMenu Descripcin: Crear men en la barra del sistema con iconos Parmetros: MenuID: (Numero) valor numrico ID del men ModernLook: True activamos estilo moderno, false lo desactivamos true: false:
Retornos: Devuelve una tabla de la situacin de la accin, 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 Descripcin: Cambiar tooltip al icono de bandeja del sistema Parametros: Tooltip: Texto del tooltip a cambiar (string) Retornos: Devuelve una tabla de la situacin de la accin, 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 Descripcin: 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 situacin de la accin, 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 Descripcin: Mostrar o ocultar el botn de la barra de tareas Parametros: WindowID: La ventana (hWnd) (Numero) Hide: True oculta el botn de la barra de tareas , false lo muestra Retornos: Esta accin no devuelve ningn valor. Ejemplo: if (e_Type == SIZE_MINIMIZED) then SysTray.MenuSetItemText(100, 101, "Restore"); SysTray.HideFromTaskBar(Application.GetWndHandle(), true);-- Ocultamos botn barra tareas end if (e_Type == SIZE_RESTORED) then SysTray.MenuSetItemText(100, 101, "Minimize"); SysTray.HideFromTaskBar(Application.GetWndHandle(), false)-- Mostramos Botn barra tareas
end
Realizado por raf@xplayer para http://aiodesings.wordpress.com/.