Многооконная программа - PullRequest
2 голосов
/ 27 июня 2010

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

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

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

Спасибо.

1 Ответ

2 голосов
/ 27 июня 2010

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

...