+// ----------------------------------------------------------------------------
+// wxCheckListBox support
+// ----------------------------------------------------------------------------
+
+#if wxUSE_OWNER_DRAWN
+
+// drawing
+// -------
+
+// space beneath/above each row in pixels
+// "standard" checklistbox use 1 here, some might prefer 2. 0 is ugly.
+#define OWNER_DRAWN_LISTBOX_EXTRA_SPACE    (1)
+
+// the height is the same for all items
+// TODO should be changed for LBS_OWNERDRAWVARIABLE style listboxes
+
+// NB: can't forward this to wxListBoxItem because LB_SETITEMDATA
+//     message is not yet sent when we get here!
+bool wxListBox::OS2OnMeasure(WXMEASUREITEMSTRUCT *item)
+{
+// TODO:
+/*
+    // only owner-drawn control should receive this message
+    wxCHECK( ((m_windowStyle & wxLB_OWNERDRAW) == wxLB_OWNERDRAW), FALSE );
+
+    MEASUREITEMSTRUCT *pStruct = (MEASUREITEMSTRUCT *)item;
+
+    wxDC dc;
+    dc.SetHDC((WXHDC)CreateIC(wxT("DISPLAY"), NULL, NULL, 0));
+    dc.SetFont(wxSystemSettings::GetSystemFont(wxSYS_ANSI_VAR_FONT));
+
+    pStruct->itemHeight = dc.GetCharHeight() + 2*OWNER_DRAWN_LISTBOX_EXTRA_SPACE;
+    pStruct->itemWidth  = dc.GetCharWidth();
+
+    return TRUE;
+*/
+    return TRUE;
+}
+
+// forward the message to the appropriate item
+bool wxListBox::OS2OnDraw(WXDRAWITEMSTRUCT *item)
+{
+// TODO:
+/*
+    // only owner-drawn control should receive this message
+    wxCHECK( ((m_windowStyle & wxLB_OWNERDRAW) == wxLB_OWNERDRAW), FALSE );
+
+    DRAWITEMSTRUCT *pStruct = (DRAWITEMSTRUCT *)item;
+
+    long data = ListBox_GetItemData(GetHwnd(), pStruct->itemID);
+
+    wxCHECK( data && (data != LB_ERR), FALSE );
+
+    wxListBoxItem *pItem = (wxListBoxItem *)data;
+
+    wxDC dc;
+    dc.SetHDC((WXHDC)pStruct->hDC, FALSE);
+    wxRect rect(wxPoint(pStruct->rcItem.left, pStruct->rcItem.top),
+            wxPoint(pStruct->rcItem.right, pStruct->rcItem.bottom));
+
+    return pItem->OnDrawItem(dc, rect,
+            (wxOwnerDrawn::wxODAction)pStruct->itemAction,
+            (wxOwnerDrawn::wxODStatus)pStruct->itemState);
+*/
+    return FALSE;
+}
+#endif
+    // wxUSE_OWNER_DRAWN