#include "wx/dynarray.h"
 #include "wx/log.h"
 
+#if wxUSE_LISTBOX
+
 #if wxUSE_OWNER_DRAWN
     #include  "wx/ownerdrw.h"
 #endif
 
-#if !USE_SHARED_LIBRARY
   IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControl)
-#endif
 
 // ============================================================================
 // list box item declaration and implementation
                        const wxSize& size,
                        int n, const wxString choices[],
                        long style,
+#if wxUSE_VALIDATORS
                        const wxValidator& validator,
+#endif
                        const wxString& name)
 {
     m_noItems = 0;
     m_selected = 0;
 
     SetName(name);
+#if wxUSE_VALIDATORS
     SetValidator(validator);
+#endif
 
     if (parent)
         parent->AddChild(this);
 */
 }
 
-wxSize wxListBox::DoGetBestSize()
+wxSize wxListBox::DoGetBestSize() const
 {
     // find the widest string
     int wLine;
 
     // the listbox should be slightly larger than the widest string
     int cx, cy;
-    wxGetCharSize(GetHWND(), &cx, &cy, &GetFont());
+    wxGetCharSize(GetHWND(), &cx, &cy, (wxFont*)&GetFont());
 
     wListbox += 3*cx;
 
 }
 #endif
     // wxUSE_OWNER_DRAWN
+
+#endif //wxUSE_LISTBOX