]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/tooltip.cpp
Update bug in wxListCtrl,
[wxWidgets.git] / src / msw / tooltip.cpp
index 0aa577b1aa2bcf29a85b1a178d1c62a0f84759c2..f594903e771bb1543e200555e627a569282b1304 100644 (file)
@@ -63,10 +63,11 @@ static WNDPROC gs_wndprocToolTip = (WNDPROC)NULL;
 // private classes
 // ----------------------------------------------------------------------------
 
-// a simple wrapper around TOOLINFO Win32 structure
+// a wrapper around TOOLINFO Win32 structure
 #ifdef __VISUALC__
     #pragma warning( disable : 4097 ) // we inherit from a typedef - so what?
 #endif
+
 class wxToolInfo : public TOOLINFO
 {
 public:
@@ -75,11 +76,24 @@ public:
         // initialize all members
         ::ZeroMemory(this, sizeof(TOOLINFO));
 
+        // the structure TOOLINFO has been extended with a 4 byte field in
+        // version 4.70 of comctl32.dll and if we compile on a newer machine
+        // but run on one with the old version of comctl32, nothing will work
+        // because the library will detect that we rely on a more recent
+        // version of it. So we always use the old size - if we ever start
+        // using our lParam member, we'd have to check for comctl32 version
+        // during run-time
+#if defined(_WIN32_IE) && (_WIN32_IE >= 0x0300)
+        cbSize = sizeof(TOOLINFO) - sizeof(LPARAM);
+#else // old headers
         cbSize = sizeof(TOOLINFO);
+#endif // compile-time comctl32.dll version
+
         uFlags = TTF_IDISHWND;
         uId = (UINT)hwnd;
     }
 };
+
 #ifdef __VISUALC__
     #pragma warning( default : 4097 )
 #endif
@@ -252,8 +266,7 @@ void wxToolTip::Add(WXHWND hWnd)
 
     if ( !SendTooltipMessage(GetToolTipCtrl(), TTM_ADDTOOL, 0, &ti) )
     {
-        wxLogSysError(_("Failed to create the tooltip '%s'"),
-                      m_text.c_str());
+        wxLogDebug(_T("Failed to create the tooltip '%s'"), m_text.c_str());
     }
 }