]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/tooltip.cpp
VTK wrapper of vtkRenderWindow for wxPython. Tested on MSW so far.
[wxWidgets.git] / src / msw / tooltip.cpp
index f805bf6e754e8a2760ec276df609ab32c2bfb61e..ebf490177d85aa6c3f8b657192bfb94f0075a236 100644 (file)
 #include <commctrl.h>
 #endif
 
 #include <commctrl.h>
 #endif
 
-HWND wxToolTip::hwndTT = NULL;
+// ----------------------------------------------------------------------------
+// global variables
+// ----------------------------------------------------------------------------
+
+// the tooltip parent window
+WXHWND wxToolTip::hwndTT = (WXHWND)NULL;
 
 // ----------------------------------------------------------------------------
 // private classes
 // ----------------------------------------------------------------------------
 
 
 // ----------------------------------------------------------------------------
 // private classes
 // ----------------------------------------------------------------------------
 
-
 // a simple wrapper around TOOLINFO Win32 structure
 // a simple wrapper around TOOLINFO Win32 structure
-#pragma warning( disable : 4097 )
+#ifdef __VISUALC__
+    #pragma warning( disable : 4097 ) // we inherit from a typedef - so what?
+#endif
 class wxToolInfo : public TOOLINFO
 {
 public:
     wxToolInfo(wxWindow *win)
     {
         // initialize all members
 class wxToolInfo : public TOOLINFO
 {
 public:
     wxToolInfo(wxWindow *win)
     {
         // initialize all members
-#ifdef __GNUWIN32__ && !defined(wxUSE_NORLANDER_HEADERS)
-        memset(this, 0, sizeof(TOOLINFO));
-#else
         ::ZeroMemory(this, sizeof(TOOLINFO));
         ::ZeroMemory(this, sizeof(TOOLINFO));
-#endif
 
         cbSize = sizeof(TOOLINFO);
         uFlags = TTF_IDISHWND;
         uId = (UINT)win->GetHWND();
     }
 };
 
         cbSize = sizeof(TOOLINFO);
         uFlags = TTF_IDISHWND;
         uId = (UINT)win->GetHWND();
     }
 };
-#pragma warning( default : 4097 )
+#ifdef __VISUALC__
+    #pragma warning( default : 4097 )
+#endif
 
 // ----------------------------------------------------------------------------
 // private functions
 
 // ----------------------------------------------------------------------------
 // private functions
@@ -80,8 +84,8 @@ inline LRESULT SendTooltipMessage(WXHWND hwnd,
 
 // send a message to all existing tooltip controls
 static void SendTooltipMessageToAll(WXHWND hwnd,
 
 // send a message to all existing tooltip controls
 static void SendTooltipMessageToAll(WXHWND hwnd,
-                                    UINT msg, 
-                                    WPARAM wParam, 
+                                    UINT msg,
+                                    WPARAM wParam,
                                     LPARAM lParam)
 {
    if ( hwnd )
                                     LPARAM lParam)
 {
    if ( hwnd )
@@ -117,13 +121,20 @@ WXHWND wxToolTip::GetToolTipCtrl()
 {
     if ( !hwndTT )
     {
 {
     if ( !hwndTT )
     {
-        hwndTT = ::CreateWindow(TOOLTIPS_CLASS,
+        hwndTT = (WXHWND)::CreateWindow(TOOLTIPS_CLASS,
                                 (LPSTR)NULL,
                                 TTS_ALWAYSTIP,
                                 CW_USEDEFAULT, CW_USEDEFAULT,
                                 CW_USEDEFAULT, CW_USEDEFAULT,
                                 NULL, (HMENU)NULL,
                                 (LPSTR)NULL,
                                 TTS_ALWAYSTIP,
                                 CW_USEDEFAULT, CW_USEDEFAULT,
                                 CW_USEDEFAULT, CW_USEDEFAULT,
                                 NULL, (HMENU)NULL,
-                                wxGetInstance(), NULL);
+                                wxGetInstance(),
+                                NULL);
+       if ( hwndTT )
+       {
+           SetWindowPos((HWND)hwndTT, HWND_TOPMOST, 0, 0, 0, 0,
+                        SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
+       }
+
     }
 
     return (WXHWND)hwndTT;
     }
 
     return (WXHWND)hwndTT;