+class WXDLLIMPEXP_ADV wxTaskBarIconArea : public wxFrame
+{
+public:
+ wxTaskBarIconArea(wxTaskBarIcon *icon, const wxBitmap &bmp)
+ : wxFrame(NULL, -1, wxT("taskbar icon"),
+ wxDefaultPosition, wxDefaultSize,
+ wxDEFAULT_FRAME_STYLE | wxFRAME_NO_TASKBAR |
+ wxSIMPLE_BORDER | wxFRAME_SHAPED),
+ m_icon(icon), m_bmp(bmp)
+ {
+ SetWMProperties();
+ SetSize(wxSize(bmp.GetWidth(), bmp.GetHeight()));
+ }
+
+ bool IsOk() { return true; }
+
+protected:
+ void SetWMProperties();
+
+ void OnPaint(wxPaintEvent& evt);
+ void OnWindowCreate(wxWindowCreateEvent& event);
+ void OnMouseEvent(wxMouseEvent& event);
+ void OnMenuEvent(wxCommandEvent& event);
+
+ wxTaskBarIcon *m_icon;
+ wxBitmap m_bmp;
+
+ DECLARE_EVENT_TABLE()
+};
+
+BEGIN_EVENT_TABLE(wxTaskBarIconArea, wxFrame)
+ EVT_MOUSE_EVENTS(wxTaskBarIconArea::OnMouseEvent)
+ EVT_MENU(-1, wxTaskBarIconArea::OnMenuEvent)
+ EVT_PAINT(wxTaskBarIconArea::OnPaint)
+#ifdef __WXGTK__
+ EVT_WINDOW_CREATE(wxTaskBarIconArea::OnWindowCreate)
+#endif
+END_EVENT_TABLE()
+
+void wxTaskBarIconArea::SetWMProperties()