One of the critical issues in Control development for windows is  
where a REALcontrol will live in:

1)      In a true window (Window1)
2)      In a PagePanel
3)      In a tabpanel
4)      In a RectControl
5)      In a ContainerControl

Yes 5 different issues, depending on what the REALcontrol-in- 
development will do. For the sake of simplicity, 2-4, and 5 can be  
treated as one, while 5 has a particular limitation.

On windows we are creating a childHWND with the REALcontrolHWND as  
parent, and then subclass the REALcontrolHWND to receive messages  
from the childHWND and respond accordingly. How we respond depends on  
where the REALcontrol will live. In case 1, MouseDowns and KeyDowns  
are being received and consumed by the childHWND and these events are  
never reaching the parent (the REALcontrol), unless we redirect these  
messages. From the point of our plugins, this is the desired  
behavior, and corresponds to the notion that a child should receive  
messages first.

However, when the REALcontrol lives elsewhere (cases 2-5), the child  
is not receiving any mouse or key messages (a behavior corresponding  
to what is always going on on the mac (with one exception)). We  
either are forced to utilize the REALcontrolBehavior Callbacks to  
send messages to the ChildHWND, or use the subclassed parent WndProc  
to redirect WIN messages to the child.

How can we determine this difference? And how can we discriminate a  
REALcontrol embedded in a panel from not embedded in a panel? In the  
latter case we would like to fool the RBRuntime with a partly  
overlapping REALcontrol on a panel, telling the RBRuntime not to  
treat the REAlcontrol as part of a panel. Once the panel and  
REALcontrol are created we want to move the REALcontrol within the  
bounds of a panel and utilize the Changed event of the panel to hide  
or show the REALcontrol. (This partly overlapping "would be" trick,  
does not seem to work in a CC).

Is the above intended behavior, how should we code around it (should  
we?), and how can we discriminate?

Alfred



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

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to