## wxTaskBarIcon

This class represents a taskbar icon. A taskbar icon is an icon that appears in the 'system tray' and responds to mouse clicks, optionally with a tooltip above it to help provide information.

X Window System Note

Under X Window System, the window manager must support either the System Tray Protocol by freedesktop.org (WMs used by modern desktop environments such as GNOME >= 2, KDE >= 3 and XFCE >= 4 all do) or the older methods used in GNOME 1.2 and KDE 1 and 2. If it doesn't, the icon will appear as a toplevel window on user's desktop.

Because not all window managers have system tray, there's no guarantee that wxTaskBarIcon will work correctly under X Window System and so the applications should use it only as an optional component of their user interface. The user should be required to explicitly enable the taskbar icon on Unix, it shouldn't be on by default.

Derived from

wxEvtHandler
wxObject

Include files

<wx/taskbar.h>

Event handling

To process input from a taskbar icon, use the following event handler macros to direct input to member functions that take a wxTaskBarIconEvent argument. Note that not all ports are required to send these events and so it's better to override CreatePopupMenu if all that the application does is that it shows a popup menu in reaction to mouse click.

EVT_TASKBAR_MOVE(func) | Process a wxEVT_TASKBAR_MOVE event.
EVT_TASKBAR_LEFT_DOWN(func) | Process a wxEVT_TASKBAR_LEFT_DOWN event.
EVT_TASKBAR_LEFT_UP(func) | Process a wxEVT_TASKBAR_LEFT_UP event.
EVT_TASKBAR_RIGHT_DOWN(func) | Process a wxEVT_TASKBAR_RIGHT_DOWN event.
EVT_TASKBAR_RIGHT_UP(func) | Process a wxEVT_TASKBAR_RIGHT_UP event.
EVT_TASKBAR_LEFT_DCLICK(func) | Process a wxEVT_TASKBAR_LEFT_DCLICK event.
EVT_TASKBAR_RIGHT_DCLICK(func) | Process a wxEVT_TASKBAR_RIGHT_DCLICK event.
EVT_TASKBAR_CLICK(func) | This is a synonym for either EVT_TASKBAR_RIGHT_DOWN or UP depending on the platform, use this event macro to catch the event which should result in the menu being displayed on the current platform.

Members

wxTaskBarIcon::wxTaskBarIcon
wxTaskBarIcon::~wxTaskBarIcon
wxTaskBarIcon::CreatePopupMenu
wxTaskBarIcon::IsIconInstalled
wxTaskBarIcon::IsOk
wxTaskBarIcon::PopupMenu
wxTaskBarIcon::RemoveIcon
wxTaskBarIcon::SetIcon

### wxTaskBarIcon::wxTaskBarIcon

wxTaskBarIcon()

Default constructor.

### wxTaskBarIcon::~wxTaskBarIcon

~wxTaskBarIcon()

Destroys the wxTaskBarIcon object, removing the icon if not already removed.

### wxTaskBarIcon::CreatePopupMenu

virtual wxMenu* CreatePopupMenu()

This method is called by the library when the user requests popup menu (on Windows and Unix platforms, this is when the user right-clicks the icon). Override this function in order to provide popup menu associated with the icon.

If CreatePopupMenu returns NULL (this happens by default), no menu is shown, otherwise the menu is displayed and then deleted by the library as soon as the user dismisses it. The events can be handled by a class derived from wxTaskBarIcon.

### wxTaskBarIcon::IsIconInstalled

bool IsIconInstalled()

Returns true if SetIcon was called with no subsequent RemoveIcon.

### wxTaskBarIcon::IsOk

bool IsOk()

Returns true if the object initialized successfully.

### wxTaskBarIcon::PopupMenu

bool PopupMenu(wxMenu* menu)

Pops up a menu at the current mouse position. The events can be handled by a class derived from wxTaskBarIcon.

Note

It is recommended to override CreatePopupMenu callback instead of calling this method from event handler, because some ports (e.g. wxCocoa) may not implement PopupMenu and mouse click events at all.

### wxTaskBarIcon::RemoveIcon

bool RemoveIcon()

Removes the icon previously set with SetIcon.

### wxTaskBarIcon::SetIcon

bool SetIcon(const wxIcon& icon, const wxString& tooltip)

Sets the icon, and optional tooltip text.