]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/msw/tooltip.h
Don't include <CoreFoundation/CFBase.h> because it in turn includes MacTypes.h which...
[wxWidgets.git] / include / wx / msw / tooltip.h
... / ...
CommitLineData
1///////////////////////////////////////////////////////////////////////////////
2// Name: wx/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$
8// Copyright: (c) 1999 Robert Roebling, Vadim Zeitlin
9// Licence: wxWindows licence
10///////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_MSW_TOOLTIP_H_
13#define _WX_MSW_TOOLTIP_H_
14
15#include "wx/object.h"
16
17class WXDLLIMPEXP_CORE wxWindow;
18
19class WXDLLEXPORT wxToolTip : public wxObject
20{
21public:
22 // ctor & dtor
23 wxToolTip(const wxString &tip);
24 virtual ~wxToolTip();
25
26 // accessors
27 // tip text
28 void SetTip(const wxString& tip);
29 const wxString& GetTip() const { return m_text; }
30
31 // the window we're associated with
32 void SetWindow(wxWindow *win);
33 wxWindow *GetWindow() const { return m_window; }
34
35 // controlling tooltip behaviour: globally change tooltip parameters
36 // enable or disable the tooltips globally
37 static void Enable(bool flag);
38 // set the delay after which the tooltip appears
39 static void SetDelay(long milliseconds);
40
41 // implementation only from now on
42 // -------------------------------
43
44 // should be called in responde to WM_MOUSEMOVE
45 static void RelayEvent(WXMSG *msg);
46
47 // add a window to the tooltip control
48 void Add(WXHWND hwnd);
49
50 // remove any tooltip from the window
51 static void Remove(WXHWND hwnd);
52
53private:
54 // the one and only one tooltip control we use - never access it directly
55 // but use GetToolTipCtrl() which will create it when needed
56 static WXHWND ms_hwndTT;
57
58 // create the tooltip ctrl if it doesn't exist yet and return its HWND
59 static WXHWND GetToolTipCtrl();
60
61 // remove this tooltip from the tooltip control
62 void Remove();
63
64 wxString m_text; // tooltip text
65 wxWindow *m_window; // window we're associated with
66
67 DECLARE_ABSTRACT_CLASS(wxToolTip)
68 DECLARE_NO_COPY_CLASS(wxToolTip)
69};
70
71#endif // _WX_MSW_TOOLTIP_H_