Hi,
I have a simple main (test) form with one button and a FireSplitter control.
I have assigned 3 child forms to the Firesplitter.
When I compile and run this little app, I can click the button on the main form, but when I click a button (or anything else) on one of the child forms inside the Firesplitter, the button (on the child form) does not respond. After a few clicks, the main form caption text says ".. (Not responding)" and the application freezes.
Am I overlooking something?
Kind regards
Eddy
hmmm.... yes, you're absolutely right. Not sure what is causing that but there is certainly something bad going on there.
I will investigate.
This seems to be similar to the MDI issue that Rold reported: http://www.planetsquires.com/protect/forum/index.php?topic=2079
Paul,
I can confirm what you said here: http://www.planetsquires.com/protect/forum/index.php?topic=2177.0 (http://www.planetsquires.com/protect/forum/index.php?topic=2177.0)
Removing the button on the main form (so that there is only the FireSplitter control on the main form) makes the FireSplitter control behave as it should.
Kind regards
Thanks Eddy,
I am quite puzzled why the splitter is not co-existing on the same form with other controls. I stared at some generated code last night until my eyes started to melt. After that, I figured that I would let it sit in my brain overnight to see if it triggered a "Eureka" moment. So far, no fireworks has gone off. :)
Paul,
FFv3.05 seems to have fix the problems I was having with the FireSplitter control. I have a question:
If I have several child forms for a particular panel in the FireSplitter do I need to issue this command once for each of the child forms:
SendMessage HWND_FORM1_SPLITTER1, %FF_SPLITTER_SETCHILD, nPanelNum, hWndChildPage
maybe in the Form_Create function. And then in the function that show/hides the child forms for that panel , just issue a hide/show command?
In other words does FF3 just stack all the child forms for a particular panel, sort of like in layers, then the show command will bring to the top layer the child form that needs to be visible. ???
Do I have this right? If not, could you explane so I can understand better how this works.
Hi Marty,
I have attached a project which shows how to do it. You load all of your forms as non-modal in the WM_CREATE of the main form. In that same, WM_CREATE you assign the child forms to the panes (using %FF_SPLITTER_SETCHILD) so that the panes will show when the application finally shows on the screen.
To change to a different form in a child pane, you issue a %FF_SPLITTER_SETCHILD. Notice in the project that I am doing the %FF_SPLITTER_SETCHILD for the new pane and then hiding the previous pane. This prevents the screen flicker that you commented about in another post.
The splitter does not "stack" forms for specific panes. Any form can be used in any pane at any time.