}
}
-#if _WIN32_IE >= 0x0300
+ // the column images were not supported in older versions but how to check
+ // for this? we can't use _WIN32_IE because we always define it to a very
+ // high value, so see if another symbol which is only defined starting from
+ // comctl32.dll 4.70 is available
+#ifdef NM_CUSTOMDRAW // _WIN32_IE >= 0x0300
if ( item.m_mask & wxLIST_MASK_IMAGE )
{
item.m_image = lvCol.iImage;
}
-#endif
+#endif // LVCOLUMN::iImage exists
return success;
}
}
break;
-#if defined(_WIN32_IE) && _WIN32_IE >= 0x300 \
- && !( defined(__GNUWIN32__) && !wxCHECK_W32API_VERSION( 1, 0 ) )
- case NM_CUSTOMDRAW:
+#ifdef NM_CUSTOMDRAW
*result = OnCustomDraw(lParam);
return TRUE;
wxStrncpy(lvi.pszText, text, lvi.cchTextMax);
}
-#if defined(_WIN32_IE) && _WIN32_IE >= 0x300 \
- && !( defined(__GNUWIN32__) && !wxCHECK_W32API_VERSION( 1, 1 ) )
+ // see comment at the end of wxListCtrl::GetColumn()
+#ifdef NM_CUSTOMDRAW
if ( lvi.mask & LVIF_IMAGE )
{
lvi.iImage = OnGetItemImage(item);
}
-#endif
+#endif // NM_CUSTOMDRAW
// a little dose of healthy paranoia: as we never use
// LVM_SETCALLBACKMASK we're not supposed to get these ones
return processed;
}
-#if defined(_WIN32_IE) && _WIN32_IE >= 0x300
+// see comment at the end of wxListCtrl::GetColumn()
+#ifdef NM_CUSTOMDRAW // _WIN32_IE >= 0x0300
WXLPARAM wxListCtrl::OnCustomDraw(WXLPARAM lParam)
{
lvCol.cx = item.m_width;
}
-#if defined(_WIN32_IE) && _WIN32_IE >= 0x300 \
- && !( defined(__GNUWIN32__) && !wxCHECK_W32API_VERSION( 1, 1 ) )
+ // see comment at the end of wxListCtrl::GetColumn()
+#ifdef NM_CUSTOMDRAW // _WIN32_IE >= 0x0300
if ( item.m_mask & wxLIST_MASK_IMAGE )
{
if ( wxTheApp->GetComCtl32Version() >= 470 )
}
//else: it doesn't support item images anyhow
}
-#endif
+#endif // _WIN32_IE >= 0x0300
}
#endif // wxUSE_LISTCTRL
#include <commctrl.h>
#endif
-#ifndef _WIN32_IE
- // minimal set of features by default
- #define _WIN32_IE 0x0200
-#endif
-
// VZ: normally, the trick with subclassing the tooltip control and processing
// TTM_WINDOWFROMPOINT should work but, somehow, it doesn't. I leave the
// code here for now (but it's not compiled) in case we need it later.
if ( index != wxNOT_FOUND )
{
-#if _WIN32_IE >= 0x0300
+#ifdef TTM_SETMAXTIPWIDTH
if ( wxTheApp->GetComCtl32Version() >= 470 )
{
- // use TTM_SETMAXWIDTH to make tooltip multiline using the
+ // use TTM_SETMAXTIPWIDTH to make tooltip multiline using the
// extent of its first line as max value
HFONT hfont = (HFONT)SendTooltipMessage(GetToolTipCtrl(),
WM_GETFONT,
}
break;
-#if defined(_WIN32_IE) && _WIN32_IE >= 0x300 && !wxUSE_COMCTL32_SAFELY && !( defined(__GNUWIN32__) && !wxCHECK_W32API_VERSION( 1, 0 ) )
+ // instead of explicitly checking for _WIN32_IE, check if the
+ // required symbols are available in the headers
+#if defined(CDDS_PREPAINT) && !wxUSE_COMCTL32_SAFELY
case NM_CUSTOMDRAW:
{
LPNMTVCUSTOMDRAW lptvcd = (LPNMTVCUSTOMDRAW)lParam;
// we always process it
return true;
-#endif // _WIN32_IE >= 0x300
+#endif // have owner drawn support in headers
case NM_CLICK:
{