| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Показать окно |
| Автор: Goldberg 25.7.2004, 19:34 | ||
Суть в том, что при нажатии на кнопку в одном окне, нужно показать другое, но при этом, они не должны друг от друга зависеть, т.е. если свернуть первое окно, то свернется и второе, а если свернуть второе, то чтобы его его развернуть нужно свернуть и развернуть первое, как всего этого избежать? Делаю так:
Но в этом случае, происходит все выше описанное. Если у кого то есть готовые решения или хотя бы идеи, обязательно ответте, очень надо! |
| Автор: Goldberg 26.7.2004, 10:16 |
| Никто не может помочь? |
| Автор: AndyY 26.7.2004, 10:21 |
| заменить так: dlg.Create(IDD_PICTURE, 0); //Показываю только это ужасно с точки зрения юзабилити. |
| Автор: Goldberg 26.7.2004, 10:27 |
| Во! Спасибо! Хоть это и ужасно, но очень нужно. Но еще вопросик, первое окно всегда находится под вторым, даже если оно активно, а второе нет, в МСДН порылся, вроде надо Z Order поменять, но что-то не получается, какую функцию для этого нужно использовать? |
| Автор: Goldberg 26.7.2004, 10:39 |
| Делаю так, но не помогает: dlg.SetWindowPos(&wndTopMost,1,1,500, 200, SWP_NOZORDER); |
| Автор: AndyY 26.7.2004, 11:10 |
| можно убрать флаг SWP_NOZORDER. так будет все время сверху. dlg.SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE); можно еще так: dlg.SetWindowPos(this, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE); - выше конкретного окна. |
| Автор: Goldberg 26.7.2004, 11:33 |
| dlg - это второе окно, которое должны быть ниже первого, всегда. При втором варианте, как только первое окно получает фокус, то оказывается под вторым, а первый вариант вообще не помог. |
| Автор: Goldberg 26.7.2004, 11:46 |
| Я тут еще обнаружил, что если свернуть первое окно , то второе тоже сворачивается( Если второе свернуть, то все как надо(первое не сворачивается). |