Example quickstart don't work as expected

Help
cardano
2004-11-20
2013-04-15
  • cardano
    cardano
    2004-11-20

    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.

     
    • cardano
      cardano
      2004-11-20

      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.

       
      • John Torjo
        John Torjo
        2004-11-21

        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.

        Best,
        John