Как обеспечить правильный порядок окон

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Как обеспечить правильный порядок окон

Сообщение Flo » 27.04.2004 (Вт) 15:14

Простите меня, гуру, но для нашего поиска я человек, видимо, недостаточно творческий, а посему такая проблема.

В проекте много окон, они могут открываться одно над другим по цепочке, причем на таскбаре отображается только основное, с которого эта цепочка началась. Если вдруг из-за действий пользователя вся эта прелесть окажется накрыта другим окном, то как мне восстановить по клику (таскбар, основное окно) все это в правильном порядке. А то они взаимно блокируются (следующее открытое делает предыдущее .Enabled=False), основным прикрыты - и каюк :oops: :shock: Подскажите как быть. Или это как-то иначе организовать?

cg_ck
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 118
Зарегистрирован: 11.06.2003 (Ср) 12:02
Откуда: Riga(Latvia)

Сообщение cg_ck » 27.04.2004 (Вт) 16:12

Ну, я не знаю на сколько правильно я всё понял, попробуй сделать так:
Код: Выделить всё
Private Sub Command1_Click()
    Form2.Show
    Form3.Show
    Form2.Enabled = False
    Form4.Show
    Form3.Enabled = False
End Sub

Private Sub Form_Activate()
    If Form2.Visible = True Then Form2.Show
    If Form3.Visible = True Then Form3.Show
    If Form4.Visible = True Then Form4.Show
End Sub
Ходит по лесу хомяк, хищный маленький дурак...

Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Сообщение Flo » 27.04.2004 (Вт) 17:27

Если бы все было так просто... :roll:
Форм - десятка полтора, загружаются они в различной последовательности, т.е. раз, к примеру, в порядке 1, 3, 5, другой раз - 1,2,3,6. Вешать это на спецкнопку - нелепо, да к тому же у основной формы, если открыты другие - Enabled=False и потому события Activate, увы не происходит.
Я тут мыслила в направлении использования для этой цели Forms Collection. Только вот не знаю на какое событие ее перелопачивание повесить, если основная форма с - Enabled=False. Может кто подскажет, что в таком случае можно у нее отловить и в правильном ли вообще направлении мыслю? :?

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 27.04.2004 (Вт) 17:49

а может... это... использовать MDI-интерфейс...
тогда у тебя будет одно главное окно приложения, а все остальные - дочерние будут открыватся в нутри главного окна... в этом случе мороки меньше будет..., наверное
или использовать при отображении всех этих окон параметр OwnerForm (второй параметр метода Show формы)
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Сообщение Flo » 28.04.2004 (Ср) 10:14

Спасибо большое, OwnerForm помог. :)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 31

    TopList