Set the event object and the event ID correctly, i.e. to the values
corresponding to the main wxListCtrl itself, when forwarding mouse and
keyboard events from wxListMainWindow to wxListCtrl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72339
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
if ( event.LeftDown() )
SetFocus();
if ( event.LeftDown() )
SetFocus();
- event.SetEventObject( GetParent() );
- if ( GetParent()->GetEventHandler()->ProcessEvent( event) )
+ // Pretend that the event happened in wxListCtrl itself.
+ wxMouseEvent me(event);
+ me.SetEventObject( GetParent() );
+ me.SetId(GetParent()->GetId());
+ if ( GetParent()->GetEventHandler()->ProcessEvent( me ))
return;
if (event.GetEventType() == wxEVT_MOUSEWHEEL)
return;
if (event.GetEventType() == wxEVT_MOUSEWHEEL)
// propagate the key event upwards
wxKeyEvent ke(event);
ke.SetEventObject( parent );
// propagate the key event upwards
wxKeyEvent ke(event);
ke.SetEventObject( parent );
+ ke.SetId(GetParent()->GetId());
if (parent->GetEventHandler()->ProcessEvent( ke ))
return;
if (parent->GetEventHandler()->ProcessEvent( ke ))
return;
// propagate the key event upwards
wxKeyEvent ke(event);
// propagate the key event upwards
wxKeyEvent ke(event);
+ ke.SetEventObject( parent );
+ ke.SetId(GetParent()->GetId());
if (parent->GetEventHandler()->ProcessEvent( ke ))
return;
if (parent->GetEventHandler()->ProcessEvent( ke ))
return;
// propagate the char event upwards
wxKeyEvent ke(event);
ke.SetEventObject( parent );
// propagate the char event upwards
wxKeyEvent ke(event);
ke.SetEventObject( parent );
+ ke.SetId(GetParent()->GetId());
if (parent->GetEventHandler()->ProcessEvent( ke ))
return;
if (parent->GetEventHandler()->ProcessEvent( ke ))
return;