VGUI Mouse input events called for child elements but not for parent

I’ve got a VGUI element which contains a child element. The child element fills the entire width and height of the parent.
The problem I’m having is that no mouse events ever get called on the parent - the mouse event is passed to the child rather than to both child and parent.
When the child is removed, the mouse events behave fine.

I’ve already thought of more than one way to fix this problem, such as overriding the mouse events in the child and passing them on to the parent, or making the child invisible but manually drawing it instead.
However, these aren’t perfect solutions and are pretty hacky, so I’d rather do it properly if it’s possible.

Isn’t that how it should work?

It is, but I’m looking for the best way to override that behaviour.
What I’m looking for is a bit like this:

[lua]
function PANEL:OnMouseReleased( m, element )
if element == self then
– self-specific logic
elseif element.redirectToParent then
– more self-specific logic
end – don’t capture
end
[/lua]

This would let me keep things “clean” by simply adding a panel or an image to the parent, whilst still maintaining mouse functionality.
Naturally .redirectToParent would only be set for these panels/images, so that any buttons they contain wouldn’t be interfered with.

(I’m not sure I’m making a huge amount of sense here, I’m finding it difficult to articulate what I want to do)