wxSize sizeBtn = m_btn->GetBestSize();
wxCoord wText = width - sizeBtn.x;
- m_text->SetSize(x, y, wText, height);
- m_btn->SetSize(x + wText, y, sizeBtn.x, height);
+ wxPoint p = GetParent() ? GetParent()->GetClientAreaOrigin() : wxPoint(0,0);
+ m_text->SetSize(x - p.x, y - p.y, wText, height);
+ m_btn->SetSize(x - p.x + wText, y - p.y, sizeBtn.x, height);
}
// ----------------------------------------------------------------------------
void wxComboListBox::OnSelect(wxCommandEvent& event)
{
- // first let the user code have the event
+ // first update the combo and close the listbox
+ m_combo->OnSelect(event.GetString());
+
+ // next let the user code have the event
// all fields are already filled by the listbox, just change the event
// type and send it to the combo
event2.SetEventObject(m_combo);
event2.SetId(m_combo->GetId());
m_combo->ProcessEvent(event2);
-
- // next update the combo and close the listbox
- m_combo->OnSelect(event.GetString());
}
void wxComboListBox::OnShow()
// input handling
// ----------------------------------------------------------------------------
-void wxComboControl::OnKey(wxCommandEvent& event)
+void wxComboControl::OnKey(wxKeyEvent& event)
{
if ( m_isPopupShown )
{