| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Создание второго окна! |
| Автор: Marisha1989 1.11.2008, 00:29 | ||
| Добрый день, помогите пожалуйста, разобратся, как можна создать и открыть второе окно, когда ты с первого окна нажимаеш на кнопку! Тоесть вот этот код, он создает окно и выводим там объекты, а также объект hButton, вот мне нуно чтобы при нажатии на этоу кнопку убиралось первое окно и появлялось второе.
Подскажите пожалуйста, может быть это как-то мона сделать через дочерное окно, куда именно надо напистаь и как это прописать??? |
| Автор: BorisVorontsov 1.11.2008, 00:49 |
| Тут так получается... 1. Регистрируешь новый оконный класс. Создаешь второй модуль, прописываешь там коллбэк-функцию для второго окна, в case ID_BUTTON создаешь второе окно посредством CreateWindow и вызываешь DestroyWindow для первого. Ну, и case WM_DESTROY: PostQuitMessage(0); переносишь в коллбэк-функцию второго окна. 2. Работаешь с тем же оконным классом. Так же в case ID_BUTTON создаешь второе окно и где-нибудь запоминаешь хэндл, затем вызываешь DestroyWindow для первого. В case WM_DESTROY смотришь, если hWnd равен хэндлу второго -- PostQuitMessage, иначе ничего не делать. Есть еще множество вариантов, но это самый простой. |
| Автор: Marisha1989 1.11.2008, 00:57 |
| Пасибо, а скажи пожалуйста, просто закрасить или удалить все объекты с этой формы, по коду не будет менньше. Просто я так представила, что это еще столько же :(как бы нужно, чтобы при нажатии или появлялось другое окно, или же в этом опять писать, только чтобы оно было как бы очищено))) |
| Автор: Marisha1989 1.11.2008, 20:39 |
| нужно получить любым способом получить, чтобы при нажатии кнопки выводилось новое окно или это окно очищалось, чтобы было пустое поле в котором будут новые компоненты)))тоесть мона новое , а мона просто очистить, вот и ен могу придумать как :( |
| Автор: HumanAPI 4.11.2008, 11:06 |
| Вообще то программа в корне не правильна )) Главная оконная функция должна оставаться для главного окна (тоесть для самой игры) а приглашение это всего лиш диалог который описывается в ресурсе и имеет свою оконную функцию. |
| Автор: Andrey44 4.11.2008, 11:30 |
Совсем не обязательно. |
| Автор: Lycifer 10.11.2008, 19:04 |
| Я не работаю с GUI, но насколько я помню по старой памяти: Любой компонент это окно(button,text and someone) Любому окну можно сделать visible, а точнее ShowWindow(descriptor, flag) -кажется так может что не так, не очень помню это было давно и не правда Дескриптор своих элементов ты всегда можеш узнать |