po wybraniu pozycji w menu tworze nowe okno

HWND api_dialog_new( const std::string & name )
{
    HWND temp = CreateWindowEx( 0, name.c_str(), "Windows Application", WS_SYSMENU, CW_USEDEFAULT, CW_USEDEFAULT, 380, 130, global::main_window, NULL, *global::main_instance, NULL );

   return temp;
}

podaje uchwyt głównego okna ( global::main_window ) żeby na pasku zadań nie tworzyło mi kolejnej pozycji dla kolejnego okna, problem w tym ze jak później chce ukryć to okno gdy już go nie potrzebuje to w procedurze dialogu na wiadomość WM_CLOSE i WM_DESTROY robię tak

ShowWindow( hwnd, 0 );

i ukrywa mi okno z menu ale główne okno zostaje zminimalizowane można to jakoś rozwiazac?

//edit:: problem rozwiązany wystarczyło w wiadomości WM_CLOSE ustawić fokusa dla global::main_window