diff --git a/samples/controls/controls.cpp b/samples/controls/controls.cpp index 0b8561cef5..5d7bab47a3 100644 --- a/samples/controls/controls.cpp +++ b/samples/controls/controls.cpp @@ -1076,15 +1076,19 @@ void MyPanel::OnListBoxButtons( wxCommandEvent &event ) } case ID_LISTBOX_SEL_NUM: { - m_listbox->SetSelection( 2 ); - m_listboxSorted->SetSelection( 2 ); + if (m_listbox->GetCount() > 2) + m_listbox->SetSelection( 2 ); + if (m_listboxSorted->GetCount() > 2) + m_listboxSorted->SetSelection( 2 ); m_lbSelectThis->WarpPointer( 40, 14 ); break; } case ID_LISTBOX_SEL_STR: { - m_listbox->SetStringSelection( _T("This") ); - m_listboxSorted->SetStringSelection( _T("This") ); + if (m_listbox->FindString(_T("This")) > -1) + m_listbox->SetStringSelection( _T("This") ); + if (m_listboxSorted->FindString(_T("This")) > -1) + m_listboxSorted->SetStringSelection( _T("This") ); m_lbSelectNum->WarpPointer( 40, 14 ); break; } diff --git a/src/msw/button.cpp b/src/msw/button.cpp index 2e50a96213..1b15526dfd 100644 --- a/src/msw/button.cpp +++ b/src/msw/button.cpp @@ -415,7 +415,8 @@ static void DrawButtonText(HDC hdc, COLORREF colOld = SetTextColor(hdc, col); int modeOld = SetBkMode(hdc, TRANSPARENT); - ::DrawText(hdc, text, text.length(), pRect, DT_CENTER | DT_VCENTER); + // Note: we must have DT_SINGLELINE for DT_VCENTER to work. + ::DrawText(hdc, text, text.length(), pRect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); SetBkMode(hdc, modeOld); SetTextColor(hdc, colOld);