Gambas Documentation
Aperçu du Langage
À traduire
Code Snippets
Comment faire ...
Compilation et installation
Composants
gb
gb.args
gb.cairo
gb.clipper
gb.complex
gb.compress
gb.crypt
gb.db
gb.db.form
gb.dbus
gb.debug
gb.desktop
gb.desktop.gnome.keyring
gb.eval
gb.eval.highlight
gb.form
gb.form.dialog
gb.form.editor
gb.form.mdi
gb.gmp
gb.gsl
gb.gtk
gb.gtk3
gb.gui
gb.image
gb.image.effect
gb.image.imlib
gb.image.io
gb.inotify
gb.libxml
gb.media
gb.mysql
gb.net
gb.net.curl
gb.net.smtp
gb.openal
gb.opengl
gb.opengl.glsl
gb.opengl.glu
gb.opengl.sge
gb.option
gb.pcre
gb.pdf
gb.qt4
.combobox.item
.container.children
.Menu.Children
.TabStripContainer
.TabStripContainer.Children
.TextArea.Selection
.TextBox.Selection
.Window.Controls
.Window.Menus
_ColumnView_Columns
_Draw_Clip
_Draw_Style
_GridView_Cell
_GridView_Column
_GridView_Columns
_GridView_Data
_GridView_Row
_GridView_Rows
_IconView_Item
_ListBox_Item
_TreeView
_TreeView_Item
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
Printer
ProgressBar
RadioButton
Rect
Screen
Screens
Scroll
ScrollArea
ScrollBar
ScrollView
Select
Separator
Slider
SpinBox
Style
SvgImage
TabStrip
TextArea
TextBox
TextLabel
ToggleButton
ToolButton
trayicon
:dblclick ?
:enter ?
:gotfocus ?
:leave ?
:lostfocus ?
:menu ?
:mousedown ?
:mousemove ?
:mouseup ?
:mousewheel ?
_new ?
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.opengl
gb.qt4.webkit
gb.qt5
gb.qt5.opengl
gb.report
gb.scanner
gb.sdl
gb.sdl.sound
gb.settings
gb.signal
gb.util
gb.util.web
gb.v4l
gb.vb
gb.web
gb.web.feed
gb.xml
gb.xml.html
gb.xml.rpc
gb.xml.xslt
Controls pictures
Derniers changements
Dépôt d'applications
Documentation de l'Environnement de développement
Documentation des développeurs
Documents
Indenter
Index de tous les Documents
Index du langage
Lexique
LISEZ-MOI
Manuel du wiki
Messages d'erreur
Tutoriels
Wiki License

trayicon (gb.qt4)

Ce contrôle implémente une vue d’arborescence d’items textuels sélectionnables munis d'icônes. Les items de l’arborescence sont indexés par une clé. Ils affichent une chaîne et un icône pour chaque item. Ce contrôle possède un curseur interne utilisé pour accéder à ses items. Utilisez les méthodes movefirst ?, movenext ?, moveto ?... pour déplacer le curseur interne, et la propriété item ? pour avoir l’item vers lequel il pointe.

Cette classe implémente une barre d’icônes.

trayicon: Cette classe n'existe pas.

Une trayicon répond typiquement à soit un évènement :dblclick ? pour initier une action prédéfinie (par exemple pour restaurer une Form minimisée) ou à l’évènement :menu ? pour afficher un Menu "popup". Mes observations montrent que la création d’un "popup" à la volée est pénible, et qu’il vaut mieux créer un Menu "stub" (composant vide) dans votre Form et définir la propriété Enabled de ce menu à FALSE et sa propriété Visible à FALSE. Vous pouvez alors ajouter et retirer les items aisément pour correspondre à l’état courant de l’application dans les options disponibles du menu "popup".

Vous pouvez aussi utiliser la propriété Tooltip de la trayicon pour afficher l’état de l’application quand un tel comportement est approprié pour votre projet particulier.

Vous créez un menu caché invisible dans votre formulaire principal appelé TrayMenu dont l’ identifiant est aussi TrayMenu. Vous donnez à votre contrôle barre d’icônes l’ identifiant MyTrayIcon. Vous voulez créer un menu contextuel pour votre trayicon. Dans cet exemple TrayMenu et MyTrayIcon doivent être dans le même formulaire Form.

Dans le formulaire contenant MyTrayIcon et TrayMenu :
Public Sub MyTrayIcon_Menu()

    TrayMenu.Popup()

End

A présent vous devriez avoir un gain de stabilité pour ce contrôle.

Dans mes tentatives d’utiliser ce contrôle j’ai eu le "KDE panel segfault " (crash) à diverse reprises après un certain nombre de cycles edit/run d’un projet Gambas utilisant une barre d’icônes dans le formulaire de démarrage.

--Brian Jack 2006.01.29 02:28 PST

Pouvez-vous être plus précis à propos de ce qui est pénible dans la création de menus popup?

--Benoit Minisini 2006.01.29 22:59 CET

Si vous utilisez la Form comme parent et créez le Menu popup , vous devez maintenir une lourde comptabilité pour vous assurer que le menu n’est créé qu’une seule fois, sinon une barre de menu avec plusieurs copies du menu popup en résulte. Comme je ne crois pas qu’il y ait moyen de détruire les objets à ce moment, c’est aussi bien de faire un Menu persistant à l’intérieur de la Form dans IDE Menu Editor puis de l’appeler à partir de l’évènement TrayIcon's Menu.

--Brian Jack 2006.02.02 09:49 PST