///////////////////////////////////////////////////////////////////////////////
-// 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_CORE wxWindow;
+
+class WXDLLEXPORT wxToolTip : public wxObject
{
public:
// ctor & dtor
// set the delay after which the tooltip appears
static void SetDelay(long milliseconds);
- // implementation
- void RelayEvent(WXMSG *msg);
+ // implementation only from now on
+ // -------------------------------
+
+ // 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 HWND 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_