int item, int flags ) const
{
- // If item is selected or even, use the default rendering.
- if ( GetVListBoxComboPopup()->IsCurrent((size_t)item) ||
+ // If item is selected or even, or we are painting the
+ // combo control itself, use the default rendering.
+ if ( (flags & (wxODCB_PAINTING_CONTROL|wxODCB_PAINTING_SELECTED)) ||
(item & 1) == 0 )
{
wxOwnerDrawnComboBox::OnDrawBackground(dc,rect,item,flags);
wxComboCtrl* cc;
- wxGenericComboControl* gcc;
+ wxGenericComboCtrl* gcc;
wxOwnerDrawnComboBox* odc;
// Create common strings array
odc->SetSelection(0);
- odc->SetButtonPosition(-2, // width adjustment
- -6, // height adjustment
+
+ // Use button size that is slightly smaller than the default.
+ wxSize butSize = odc->GetButtonSize();
+ odc->SetButtonPosition(butSize.x - 2, // button width
+ butSize.y - 6, // button height
wxLEFT, // side
2 // horizontal spacing
);
// Tree Ctrl wxComboCtrl
//
- // Note that we test that wxGenericComboControl works
- gcc = new wxGenericComboControl(panel,wxID_ANY,wxEmptyString,
- wxDefaultPosition, wxDefaultSize);
+ // Note that we test that wxGenericComboCtrl works
+ gcc = new wxGenericComboCtrl(panel,wxID_ANY,wxEmptyString,
+ wxDefaultPosition, wxDefaultSize);
// Set popup interface right away, otherwise some of the calls
// below may fail
gcc->SetValue(wxT("Subitem 05"));
// Move button to left - it makes more sense for a tree ctrl
- gcc->SetButtonPosition(0, // width adjustment
- 0, // height adjustment
+ gcc->SetButtonPosition(-1, // button width
+ -1, // button height
wxLEFT, // side
0 // horizontal spacing
);