-#ifdef __WXWINE__
- #ifndef ListBox_SetItemData
- #define ListBox_SetItemData(hwndCtl, index, data) \
- ((int)(DWORD)SendMessage((hwndCtl), LB_SETITEMDATA, (WPARAM)(int)(index), (LPARAM)(data)))
- #endif
- #ifndef ListBox_GetHorizontalExtent
- #define ListBox_GetHorizontalExtent(hwndCtl) \
- ((int)(DWORD)SendMessage((hwndCtl), LB_GETHORIZONTALEXTENT, 0L, 0L))
- #endif
- #ifndef ListBox_GetSelCount
- #define ListBox_GetSelCount(hwndCtl) \
- ((int)(DWORD)SendMessage((hwndCtl), LB_GETSELCOUNT, 0L, 0L))
- #endif
- #ifndef ListBox_GetSelItems
- #define ListBox_GetSelItems(hwndCtl, cItems, lpItems) \
- ((int)(DWORD)SendMessage((hwndCtl), LB_GETSELITEMS, (WPARAM)(int)(cItems), (LPARAM)(int *)(lpItems)))
- #endif
- #ifndef ListBox_GetTextLen
- #define ListBox_GetTextLen(hwndCtl, index) \
- ((int)(DWORD)SendMessage((hwndCtl), LB_GETTEXTLEN, (WPARAM)(int)(index), 0L))
- #endif
- #ifndef ListBox_GetText
- #define ListBox_GetText(hwndCtl, index, lpszBuffer) \
- ((int)(DWORD)SendMessage((hwndCtl), LB_GETTEXT, (WPARAM)(int)(index), (LPARAM)(LPCTSTR)(lpszBuffer)))
- #endif
+#if wxUSE_EXTENDED_RTTI
+WX_DEFINE_FLAGS( wxListBoxStyle )
+
+WX_BEGIN_FLAGS( wxListBoxStyle )
+ // new style border flags, we put them first to
+ // use them for streaming out
+ WX_FLAGS_MEMBER(wxBORDER_SIMPLE)
+ WX_FLAGS_MEMBER(wxBORDER_SUNKEN)
+ WX_FLAGS_MEMBER(wxBORDER_DOUBLE)
+ WX_FLAGS_MEMBER(wxBORDER_RAISED)
+ WX_FLAGS_MEMBER(wxBORDER_STATIC)
+ WX_FLAGS_MEMBER(wxBORDER_NONE)
+
+ // old style border flags
+ WX_FLAGS_MEMBER(wxSIMPLE_BORDER)
+ WX_FLAGS_MEMBER(wxSUNKEN_BORDER)
+ WX_FLAGS_MEMBER(wxDOUBLE_BORDER)
+ WX_FLAGS_MEMBER(wxRAISED_BORDER)
+ WX_FLAGS_MEMBER(wxSTATIC_BORDER)
+ WX_FLAGS_MEMBER(wxNO_BORDER)
+
+ // standard window styles
+ WX_FLAGS_MEMBER(wxTAB_TRAVERSAL)
+ WX_FLAGS_MEMBER(wxCLIP_CHILDREN)
+ WX_FLAGS_MEMBER(wxTRANSPARENT_WINDOW)
+ WX_FLAGS_MEMBER(wxWANTS_CHARS)
+ WX_FLAGS_MEMBER(wxNO_FULL_REPAINT_ON_RESIZE)
+ WX_FLAGS_MEMBER(wxALWAYS_SHOW_SB )
+ WX_FLAGS_MEMBER(wxVSCROLL)
+ WX_FLAGS_MEMBER(wxHSCROLL)
+
+ WX_FLAGS_MEMBER(wxLB_SINGLE)
+ WX_FLAGS_MEMBER(wxLB_MULTIPLE)
+ WX_FLAGS_MEMBER(wxLB_EXTENDED)
+ WX_FLAGS_MEMBER(wxLB_HSCROLL)
+ WX_FLAGS_MEMBER(wxLB_ALWAYS_SB)
+ WX_FLAGS_MEMBER(wxLB_NEEDED_SB)
+ WX_FLAGS_MEMBER(wxLB_SORT)
+
+WX_END_FLAGS( wxListBoxStyle )
+
+IMPLEMENT_DYNAMIC_CLASS_XTI(wxListBox, wxControl,"wx/listbox.h")
+
+WX_BEGIN_PROPERTIES_TABLE(wxListBox)
+ WX_EVENT_PROPERTY( Select , wxEVT_COMMAND_LISTBOX_SELECTED , wxCommandEvent )
+ WX_EVENT_PROPERTY( DoubleClick , wxEVT_COMMAND_LISTBOX_DOUBLECLICKED , wxCommandEvent )
+
+ WX_PROPERTY( Font , wxFont , SetFont , GetFont , , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
+ WX_PROPERTY_COLLECTION( Choices , wxArrayString , wxString , AppendString , GetStrings, 0 /*flags*/ , wxT("Helpstring") , wxT("group") )
+ WX_PROPERTY( Selection ,int, SetSelection, GetSelection,, 0 /*flags*/ , wxT("Helpstring") , wxT("group") )
+ WX_PROPERTY_FLAGS( WindowStyle , wxListBoxStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
+WX_END_PROPERTIES_TABLE()
+
+WX_BEGIN_HANDLERS_TABLE(wxListBox)
+WX_END_HANDLERS_TABLE()
+
+WX_CONSTRUCTOR_4( wxListBox , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size )
+#else
+IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControl)