diff --git a/include/wx/msw/combobox.h b/include/wx/msw/combobox.h index 49415f636a..5d1a96acb1 100644 --- a/include/wx/msw/combobox.h +++ b/include/wx/msw/combobox.h @@ -94,6 +94,8 @@ public: virtual void Remove(long from, long to); virtual void SetSelection(int n) { wxChoice::SetSelection(n); } virtual void SetSelection(long from, long to); + virtual int GetSelection() const; + virtual void GetSelection(long* from, long* to) const; virtual void SetEditable(bool editable); virtual void Clear() { wxChoice::Clear(); m_selectionOld = -1; } diff --git a/src/msw/combobox.cpp b/src/msw/combobox.cpp index 73c6852660..202dd9de97 100644 --- a/src/msw/combobox.cpp +++ b/src/msw/combobox.cpp @@ -607,5 +607,19 @@ void wxComboBox::SetSelection(long from, long to) } } +void wxComboBox::GetSelection(long* from, long* to) const +{ + DWORD dwStart, dwEnd; + ::SendMessage(GetHwnd(), CB_GETEDITSEL, (WPARAM)&dwStart, (LPARAM)&dwEnd); + + *from = dwStart; + *to = dwEnd; +} + +int wxComboBox::GetSelection() const +{ + return wxChoice::GetSelection(); +} + #endif // wxUSE_COMBOBOX