I have an interesting problem. I'm attempting to wrap an HIView subclass and it's complete except it will not receive mouse events. If I add a beep to the window's mousedown, it beeps while clicking in the control.

If I cause the code to jump into the debugger and then click on the window (while debugger has RB paused) I can then click freely in and out just as I should. I get the proper Carbon events and everything. Once the debugger gives control back to RB, RB catches the events and my control never receives them.

Now, I'm probably on my own here as this is likely not an issue many have tackled before. I'm actually worried there is no way to accomplish this. I do have one idea, and posting it to see if there is any input.

It might be possible to remove the carbon events from RB's event handler, install my own handler for just the specific control, then re-add RB's. Let me rephrase that, it is possible. But first, I would need to know RB's event handler reference which might be hard to determine. This is all counting on the fact that re-adding the event detection would position my control's event detection at a higher priority than RB's - thus allowing my control to catch the mouse events before RB does. For the other areas of the window, the control would ignore the events thus pushing them to the next handler in the queue.

That sounds and feels extremely dirty and dangerous. Might there be a better idea?

--
Thom McGrath, <http://www.thezaz.com/>
"You realize you've created God in your own image when God hates all the same people you do."


_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to