Documentação do Gambas
Api
Como fazer ...
Compilação e Instalação
Components
Classes nativas
gb.args
gb.compress
gb.crypt
gb.data
gb.db
gb.db.form
gb.dbus
gb.debug
gb.desktop
gb.desktop.x11
gb.eval
gb.form
gb.form.dialog
gb.form.mdi - Interface Multi Documento
gb.gtk
gb.gtk.opengl
gb.gui
gb.gui.opengl
gb.image - Componente de processamento de imagens
gb.inotify
gb.logging
gb.map
gb.markdown
gb.media
gb.media.form
gb.mime
gb.ncurses
gb.net
gb.net.curl
gb.net.smtp
gb.openal
gb.opengl
gb.option
gb.pcre
gb.pdf
gb.qt4
_GridView_Columns
_GridView_Rows
_split
_TreeView
Action
Align
Application
Arrange
Border
Button
CheckBox
Clipboard
Color
ColumnView
ComboBox
Container
Control
Cursor
Desktop
Dialog
Drag
Draw
DrawingArea
embedder
Fill
Font
Fonts
Form
Frame
GridView
HBox
HPanel
HSplit
IconView
Image
Key
Label
Line
ListBox
ListView
Menu
Message
Mouse
MovieBox
Paint
PaintBrush
PaintExtents
PaintMatrix
Panel
Picture
PictureBox
Point
Pointer
PointF
Printer
ProgressBar
RadioButton
Rect
RectF
Screen
Screens
Scroll
ScrollArea
ScrollBar
ScrollView
Select
Separator
Shortcut
Slider
SpinBox
Style
SvgImage
TabStrip
TextArea
TextBox
TextLabel
ToggleButton
ToolButton
trayicon
:dblclick ?
:enter ?
:gotfocus ?
:leave ?
:lostfocus ?
:menu ?
:mousedown ?
:mousemove ?
:mouseup ?
:mousewheel ?
delete ?
h ?
height ?
hide ?
icon ?
picture ?
popupmenu ?
screenx ?
screeny ?
show ?
tag ?
text ?
tooltip ?
visible ?
w ?
width ?
trayicons
TreeView
UserContainer
UserControl
VBox
VPanel
VSplit
Watcher
Window
Windows
gb.qt4.ext
gb.qt4.webkit
gb.report
gb.sdl
gb.sdl.sound
gb.sdl2.audio
gb.settings
gb.signal
gb.util
gb.vb
gb.web
gb.xml - Ferramentas XML baseadas em libxml
Documentação do Desenvolvedor
Documentação do IDE
Documentos
Índice da Linguagem
LEIA-ME
Léxico
Manual Wiki
Mensagens de erro
Pedaços de Códigos
Registrar-se
Repositório de aplicativos
Traduzir
Tutoriais
Ultimas modificações
Visão geral da linguagem

trayicon (gb.qt4)

Essa classe implementa um TrayIcon (ícone da bandeja).

trayicon: Esta classe não existe.

Um trayicon normalmente responde a um evento :dblclick ? para iniciar uma ação programada (por exemplo, para restaurar um Form) minimizado ou o evento :menu ? para produzir um Menu pop-up. Minhas observações são de que a criação de um pop-up no alvo é problemático e que é melhor criar um "stub" Menu no seu Form e definir a propriedade Enabled dos menus para FALSE e sua propriedade Visible para FALSE. Então você pode adicionar e remover itens com facilidade para combinar com o estado atual da aplicação nas opções do menu pop-up disponíveis.

Você também pode usar a propriedade Tooltip do trayicon para exibir o status do pedido quando tal comportamento é adequado para o seu projeto em particular.

Você cria um menu invisível oculto em seu form principal, chamado TrayMenu cujo identificador é também TrayMenu. Você dá ao seu controle TrayIcon o identificador MyTrayIcon . Você quer criar um menu de contexto para o seu trayicon. Para esse exemplo TrayMenu e MyTrayIcon precisam estar no mesmo Form.

No formulário contendo MyTrayIcon e TrayMenu:
Public Sub MyTrayIcon_Menu()

    TrayMenu.Popup()

End

Pode haver problemas de estabilidade com o uso deste controlo atualmente.

Na minha tentativa de usar esse controle ocorreu a falha KDE panel segfault em vários ocasiões, após uma série de ciclos de execução de um projeto Gambas usando um TrayIcon no formulário de inicialização.

--Brian Jack 2006.01.29 02:28 PST

Para ser mais preciso sobre o que é problemático na criação de um menu pop-up?

--Benoit Minisini 2006.01.29 22:59 CET

Se você usar o Form como um pai e criar o pop-up Menu você precisa adicionar um monte de código para garantir que o menu só é criado uma vez, de outra forma terá como resultado uma barra de menu com várias cópias do menu de contexto. Desde que, eu não acredito que há uma maneira de excluir objetos, neste momento, é nem fazer um Menu persistente dentro do Form no Menu Editor da IDE e então chamá-lo a partir do evento TrayIcon Menu.

--Brian Jack 2006.02.02 09:49 PST