Многооконная программа

Я прочитал много статей на эту тему, некоторые из них были здесь, на stackru, но ни одна из них не задала мой вопрос. Я постараюсь быть конкретным.

Мне нужно создать приложение (родной WinAPI) с главным окном (окна класса "а"). Когда пользователь нажимает кнопку там, появляется окно класса "b". Это может быть модально или нет, мне сейчас все равно.

Я попытался сделать приложение с двумя оконными классами и двумя оконными процедурами. Но проблема в том, что когда я закрываю второе окно, все приложение закрывается.

Спасибо.

1 ответ

Решение

Предполагается, что оконная процедура для вашего второго окна основана на процедуре для главного окна, поэтому, когда она получает WM_DESTROYзвонит PostQuitMessage, Это нормально для окна верхнего уровня, потому что пользователь ожидает, что его уничтожение будет означать выход из приложения. Для дочернего окна (модального или иного) это не так, поэтому ребенок не должен (опять же, обычно) вызывать PostQuitMessage в его WM_DESTROY обработчик.

Другие вопросы по тегам