X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d098a3572c1812d7a976582a59bf29e529c8a424..3ac1094bead05e30462122d00e4859725d2ea59f:/include/wx/msw/tooltip.h diff --git a/include/wx/msw/tooltip.h b/include/wx/msw/tooltip.h index d4a29c4f9c..d1b6bba824 100644 --- a/include/wx/msw/tooltip.h +++ b/include/wx/msw/tooltip.h @@ -1,15 +1,22 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: msw/tooltip.h +// Name: wx/msw/tooltip.h // Purpose: wxToolTip class - tooltip control // Author: Vadim Zeitlin // Modified by: // Created: 31.01.99 // RCS-ID: $Id$ // Copyright: (c) 1999 Robert Roebling, Vadim Zeitlin -// Licence: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// -class wxToolTip : public wxObject +#ifndef _WX_MSW_TOOLTIP_H_ +#define _WX_MSW_TOOLTIP_H_ + +#include "wx/object.h" + +class WXDLLIMPEXP_FWD_CORE wxWindow; + +class WXDLLEXPORT wxToolTip : public wxObject { public: // ctor & dtor @@ -30,20 +37,39 @@ public: static void Enable(bool flag); // set the delay after which the tooltip appears static void SetDelay(long milliseconds); + // set the delay after which the tooltip disappears or how long the tooltip remains visible + static void SetAutoPop(long milliseconds); + // set the delay between subsequent tooltips to appear + static void SetReshow(long milliseconds); + + // implementation only from now on + // ------------------------------- - // implementation - void RelayEvent(WXMSG *msg); + // should be called in responde to WM_MOUSEMOVE + static void RelayEvent(WXMSG *msg); + + // add a window to the tooltip control + void Add(WXHWND hwnd); + + // remove any tooltip from the window + static void Remove(WXHWND hwnd); private: - static WXHWND hwndTT; - // 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(); wxString m_text; // tooltip text wxWindow *m_window; // window we're associated with + + DECLARE_ABSTRACT_CLASS(wxToolTip) + DECLARE_NO_COPY_CLASS(wxToolTip) }; +#endif // _WX_MSW_TOOLTIP_H_