Icon View Thread

The following is the text of the current message along with any replies.
Messages 11 to 17 of 17 total
Thread Parenting Control Descending to TElement ?
Tue, Mar 20 2018 5:25 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Mark,

<< Since I am only adding at runtime then I imagine these two parameters are not required? >>

Correct.

<< And, finally, if I replace my original "hack" with the steps outlined above, can I iterate the Controls array of the parent such that it'll actually return the list of children added to the Middle Container (potentially by virtue of the GetClientElement override)? >>

Also correct.

Tim Young
Elevate Software
www.elevatesoft.com
Tue, Mar 20 2018 5:27 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Mark,

<< If I override the GetClientElement per the suggestion, then I no longer receive touch / mouse events except within the MiddleContainer. The rest of the parent component is basically ignored. >>

Is your MiddleContainer an actual TControl descendant class, or is it just an element ?  EWB expects that the client element is just an element, and then the outer element (the actual control) will receive all of the events for the client.

Tim Young
Elevate Software
www.elevatesoft.com
Tue, Mar 20 2018 8:25 PMPermanent Link

Mark Brooks

Slikware

Avatar

Tim Young [Elevate Software] wrote:

>>Is your MiddleContainer an actual TControl descendant class, or is it just an element ?  EWB expects that the >>client element is just an element, and then the outer element (the actual control) will receive all of the events for >>the client.

Hi Tim. Thanks for the response. MiddleContainer is just an element BUT seems to grab mouse events for the parent control (TBasicPanelControl) descendant once I override the parent GetClientElement to use MiddleContainer. Maybe I have an issue elsewhere if this is not the expected behaviour.
Wed, Mar 21 2018 9:41 AMPermanent Link

Mark Brooks

Slikware

Avatar

I've attached a schematic to show the structure of the components. The key here is that I need to dynamically add and remove TAPParticipantFormPanel instances within the MiddleContainer element of a TAPParticipantPanel instance.

I understand that the preferred method is to override GetClientElement of TAPParticipantPanel and set it to the MiddleContainer. This then allows me to simply call TAPParticipantFormPanel.Create(Self) where Self is an instance of TAPParticipantPanel.

However, this also seems to kill mouse and touch events in the TAPParticipantPanel instance.

Apologies. Long-winded I know.  



Attachments: Component Structure.png
Tue, Mar 27 2018 3:24 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Mark,

<< Hi Tim. Thanks for the response. MiddleContainer is just an element BUT seems to grab mouse events for the parent control (TBasicPanelControl) descendant once I override the parent GetClientElement to use MiddleContainer. Maybe I have an issue elsewhere if this is not the expected behaviour. >>

No, it's not how it works.  If it did, then none of the container controls would work. Wink

Please send me the source and I'll take a look and see where the issue is.

Tim Young
Elevate Software
www.elevatesoft.com
Fri, Mar 30 2018 10:02 AMPermanent Link

Mark Brooks

Slikware

Avatar

Tim Young [Elevate Software] wrote:

>>Please send me the source and I'll take a look and see where the issue is.

Hi Tim

Sorry for the delay. Been away for a few days.

I ended up rewriting this component one (long) night at which point it started working just fine with the GetClientElement override, including the mouse and touch capture. My original had evolved in complexity over a period to time so I guess that some “badness” had crept in somewhere along the line.

So, in summary, I’m good thanks!

Mark
Fri, Mar 30 2018 5:20 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Mark,

<< Sorry for the delay. Been away for a few days. >>

No need.  I'm not on here as much as I need to be lately, and it's our support forums. Wink

<< I ended up rewriting this component one (long) night at which point it started working just fine with the GetClientElement override, including the mouse and touch capture. My original had evolved in complexity over a period to time so I guess that some “badness” had crept in somewhere along the line. >>

Cool, I'm glad that you resolved the issue.

Tim Young
Elevate Software
www.elevatesoft.com
« Previous PagePage 2 of 2
Jump to Page:  1 2
Image