[1648] | 1 | ///////////////////////////////////////////////////////////////////////////////
|
---|
| 2 | // Name: msw/tooltip.h
|
---|
| 3 | // Purpose: wxToolTip class - tooltip control
|
---|
| 4 | // Author: Vadim Zeitlin
|
---|
| 5 | // Modified by:
|
---|
| 6 | // Created: 31.01.99
|
---|
| 7 | // RCS-ID: $Id: tooltip.h,v 1.13 2005/02/28 01:22:35 VZ Exp $
|
---|
| 8 | // Copyright: (c) 1999 Robert Roebling, Vadim Zeitlin
|
---|
| 9 | // Licence: wxWindows licence
|
---|
| 10 | ///////////////////////////////////////////////////////////////////////////////
|
---|
| 11 |
|
---|
| 12 | class WXDLLEXPORT wxToolTip : public wxObject
|
---|
| 13 | {
|
---|
| 14 | public:
|
---|
| 15 | // ctor & dtor
|
---|
| 16 | wxToolTip(const wxString &tip);
|
---|
| 17 | virtual ~wxToolTip();
|
---|
| 18 |
|
---|
| 19 | // accessors
|
---|
| 20 | // tip text
|
---|
| 21 | void SetTip(const wxString& tip);
|
---|
| 22 | const wxString& GetTip() const { return m_text; }
|
---|
| 23 |
|
---|
| 24 | // the window we're associated with
|
---|
| 25 | void SetWindow(wxWindow *win);
|
---|
| 26 | wxWindow *GetWindow() const { return m_window; }
|
---|
| 27 |
|
---|
| 28 | // controlling tooltip behaviour: globally change tooltip parameters
|
---|
| 29 | // enable or disable the tooltips globally
|
---|
| 30 | static void Enable(bool flag);
|
---|
| 31 | // set the delay after which the tooltip appears
|
---|
| 32 | static void SetDelay(long milliseconds);
|
---|
| 33 |
|
---|
| 34 | // implementation only from now on
|
---|
| 35 | // -------------------------------
|
---|
| 36 |
|
---|
| 37 | // should be called in responde to WM_MOUSEMOVE
|
---|
| 38 | void RelayEvent(WXMSG *msg);
|
---|
| 39 |
|
---|
| 40 | // add a window to the tooltip control
|
---|
| 41 | void Add(WXHWND hwnd);
|
---|
| 42 |
|
---|
| 43 | private:
|
---|
| 44 | // the one and only one tooltip control we use - never access it directly
|
---|
| 45 | // but use GetToolTipCtrl() which will create it when needed
|
---|
| 46 | static WXHWND ms_hwndTT;
|
---|
| 47 |
|
---|
| 48 | // create the tooltip ctrl if it doesn't exist yet and return its HWND
|
---|
| 49 | static WXHWND GetToolTipCtrl();
|
---|
| 50 |
|
---|
| 51 | // remove this tooltip from the tooltip control
|
---|
| 52 | void Remove();
|
---|
| 53 |
|
---|
| 54 | wxString m_text; // tooltip text
|
---|
| 55 | wxWindow *m_window; // window we're associated with
|
---|
| 56 |
|
---|
| 57 | DECLARE_ABSTRACT_CLASS(wxToolTip)
|
---|
| 58 | DECLARE_NO_COPY_CLASS(wxToolTip)
|
---|
| 59 | };
|
---|
| 60 |
|
---|