Страница: 1 |
Вопрос: Forms | Добавлено: 24.03.06 21:09 |
Автор вопроса: ![]() |
Как отловить события добавления и удалений форм в колекцию Forms. |
Ответы | Всего ответов: 12 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 247906854 Вопросов: 133 Ответов: 882 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 25.03.06 06:03 |
Завернуть коллекцию в класс и генерировать события в своих методах. В общем случае.
Унаследовать коллекцию и override методы AddItem и RemoveItem. В случае, если это не vb6. А ещё можно изучить коллекцию на предмет установки handler'ов, если получиться, будет проще. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 158931552 Вопросов: 18 Ответов: 26 |
Профиль | Цитата | #2 | Добавлено: 25.03.06 13:45 |
Это как раз vb6.
А ещё можно изучить коллекцию на предмет установки handler'ов, если получиться, будет проще.
Можно здесь поподробнее? |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 247906854 Вопросов: 133 Ответов: 882 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 25.03.06 17:44 |
Раз не vb6 значит это не твой вариант. Тебе подойдёт первый. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 158931552 Вопросов: 18 Ответов: 26 |
Профиль | Цитата | #4 | Добавлено: 25.03.06 17:55 |
Завернуть коллекцию в класс и генерировать события в своих методах.
Но а методы вызывать из всех форм что открываются, что-ли? |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #5 | Добавлено: 25.03.06 18:24 |
Ты ж форму походу сам программно добавляешь? Там и лови... или уточняй вопрос |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 158931552 Вопросов: 18 Ответов: 26 |
Профиль | Цитата | #6 | Добавлено: 25.03.06 20:04 |
Я хочу один раз написать код который будет выполнятся при открытии и закрытии любой формы.
Понятно что в каждую форму можно вписать этот код (или его вызов), но это нужно не забыть писать в каждую форму. |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #7 | Добавлено: 28.03.06 10:38 |
А для чего это надо? Может есть пути более рациональные? ![]() |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 158931552 Вопросов: 18 Ответов: 26 |
Профиль | Цитата | #8 | Добавлено: 28.03.06 10:54 |
А для чего это надо? Может есть пути более рациональные? ![]() Хочу сделать свою панель задач в MDI-форме |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 247906854 Вопросов: 133 Ответов: 882 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 29.03.06 04:03 |
сабклась родительское окно, выводи из него "типа событие" в ответ на добавление дочернего окна.
Или даже... Разве когда в VB6 хочешь отобразить окно в родительском мультиоконном не надо выполнять код типа MainMDI.Add (myChildForm)? Тогда создай метод AddToMain(form as Variant) и добавляй сколько хочешь. И этот же метод у тебя станет своего рода перехватом добавления дочерних окон. Либо переходи на VB.Net - там всё куда как проще, благодаря полностью раскрытым возможностям ООП. |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #10 | Добавлено: 29.03.06 11:11 |
Что значит
но это нужно не забыть писать в каждую форму. ? Если ты, скажем, напишешь код для формы Form1 на событие Form_Unload, то Set MyForm1 = New Form1 Set MyForm2 = New Form1 Set MyForm3 = New Form1 Все эти формы будут выполнять этот код. |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 158931552 Вопросов: 18 Ответов: 26 |
Профиль | Цитата | #11 | Добавлено: 29.03.06 11:27 |
Если ты, скажем, напишешь код для формы Form1 на событие Form_Unload, то Set MyForm1 = New Form1 Set MyForm2 = New Form1 Set MyForm3 = New Form1 Все эти формы будут выполнять этот код. ![]() |
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #12 | Добавлено: 29.03.06 12:17 |
ну тогда
For Each по своим формам ставя хук на WM_CLOSE |
Страница: 1 |
|