X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3a19e16d18542ec645271612d3e0170831cbf0eb..ce195ee63259e9a70136adef1ddcec4132647f96:/include/wx/msw/tooltip.h?ds=sidebyside diff --git a/include/wx/msw/tooltip.h b/include/wx/msw/tooltip.h index d2ece32c85..d8fb5c35e5 100644 --- a/include/wx/msw/tooltip.h +++ b/include/wx/msw/tooltip.h @@ -6,10 +6,10 @@ // Created: 31.01.99 // RCS-ID: $Id$ // Copyright: (c) 1999 Robert Roebling, Vadim Zeitlin -// Licence: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// -class wxToolTip : public wxObject +class WXDLLEXPORT wxToolTip : public wxObject { public: // ctor & dtor @@ -25,28 +25,36 @@ public: void SetWindow(wxWindow *win); wxWindow *GetWindow() const { return m_window; } - // controlling tooltip behaviour: under MSW, these functions change the - // behaviour of the tooltips for all controls in the same frame as this - // one (it is an implementation limitation). Also, these functions won't - // do anything before the tooltip control is associated with a window, so - // SetWindow() should be called first + // controlling tooltip behaviour: globally change tooltip parameters // enable or disable the tooltips globally - void Enable(bool flag); + static void Enable(bool flag); // set the delay after which the tooltip appears - void SetDelay(long milliseconds); + static void SetDelay(long milliseconds); - // implementation + // implementation only from now on + // ------------------------------- + + // should be called in responde to WM_MOUSEMOVE void RelayEvent(WXMSG *msg); private: - // create the tooltip ctrl for our parent frame if it doesn't exist yet - // and return its window handle - WXHWND GetToolTipCtrl(); + // the one and only one tooltip control we use - never access it directly + // but use GetToolTipCtrl() which will create it when needed + static WXHWND ms_hwndTT; + + // create the tooltip ctrl if it doesn't exist yet and return its HWND + static WXHWND GetToolTipCtrl(); // remove this tooltip from the tooltip control void Remove(); + // add a window to the tooltip control + void Add(WXHWND hwnd); + wxString m_text; // tooltip text wxWindow *m_window; // window we're associated with + + DECLARE_ABSTRACT_CLASS(wxToolTip) + DECLARE_NO_COPY_CLASS(wxToolTip) };