I found that quickstart example do not work as expected. When I start quickstart app, frame with dialog on it is showed. But when I click 'New view', new dialog is created, but not visible. In 'on_new_view' method everything looks fine:
wnd<> view = create_dlg<sample_dlg>(top_parent());
// New dialog is created, old and new are visible top_parent<sample_frame>()->activate(view);
// New dialog is visible, old in invisible
But after returning from 'on_new_view', new dialog becomes invisible. It receives SW_HIDE message, don't know why.
I'm new to Win32GUI and I'm stuck with this basic example.
Can you tell why me this exemple don't work for me. I didn't make any changes in your code.
I use VC7.1.
Found the place whare problem starts. It's in sdi_frame.cpp. In sdi_frame_handler::on_parent_notif if message is WM_CREATE the WM_POST_HIDE message is posted (there is assumption that every new child is not shown by default - you have to activate() it). Problem is that WM_POST_HIDE message is processed AFTER top_parent<sample_frame>()->activate(view) is called. I'm not to deep into Win32Gui, so I don't know how to fix it with the rules of the library.
Many thanks for looking into the problem. I will certainly solve it as soon as I have some time.
In fact, quickstart and multiple_frames (when using SDI) are known bugs - just did not have time to solve them yet.