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