I found a dirty workaround to achieve my desired behaviour. I forward the component's mousedown event to my sprites. In the corresponding sprite event handler I filter by the event's target to determine, if the mousedown event was really "over" my sprite or over the underlying drawing surface. If it was, I stop the event, so it's not further dispatched to other components:
This solution seems to work in chrome and firefox, I haven't tried it in IE up to now. The disadvantage is that every fired mousedown event (even if it's far beyond any sprite's bounding rect) is caught by the sprite event handler. Does anyone know a better solution?
/* "sprite" is my custom Ext.draw.Sprite instance
"this" is my custom Ext.draw.Component instance
- in the api docs it's written that surface events are forwarded to the drawing component by default, so I can use "this" instead of "this.surface" */