|
|
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
На главной форме есть вкладки, где расположены уже открытые и загруженные подформы. Как отловить событие, когда форма становится видимой на экране, но не активной? События AfterRender и BeforeRender не помогают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 17:30:45 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
Т.е. тебе нужно отловить событие активизации вкладки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 17:32:33 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
ТемныйТ.е. тебе нужно отловить событие активизации вкладки?Нет, именно появления изображения подформы. Эта подформа используется во многих местах, и не обязательно, что подформа появившись на экране будет находится на активном элементе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 17:46:59 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
ТемныйТ.е. тебе нужно отловить событие активизации вкладки? по-моему это и есть открытие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 17:47:08 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
Bagin ТемныйТ.е. тебе нужно отловить событие активизации вкладки?Нет, именно появления изображения подформы. Эта подформа используется во многих местах, и не обязательно, что подформа появившись на экране будет находится на активном элементе. значит на неё надо навесьти фокус ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 17:48:25 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
Галка ТемныйТ.е. тебе нужно отловить событие активизации вкладки? по-моему это и есть открытие В хелпе написано: Событие Открытие не возникает при активизации уже открытой формы, например, при переходе в эту форму из другого окна Microsoft Access или при переводе открытой формы в верхний слой с помощью макрокоманды ОткрытьФорму (OpenForm) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 17:59:23 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
А чем не устраивает событие Change вкладки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 22:39:40 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
А форма становиться видна сама по себе или после Visible=true в каком то коде? ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 09:21:49 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
Serge GavrilovА чем не устраивает событие Change вкладки?Эта подформа используется во многих других формах, а на некоторых даже несколько раз (всего больше в 20 местах). Есть два варианта: 1) попытаться отловить событие в самой подформе и прописать один раз в ее модуле 2) отлавливать событие во всех главных формах, т.е. прописать более 20 раз это событие, где будет вызов соответствующей функции. Хочу попробовть сделать первый вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 09:56:01 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
DafА форма становиться видна сама по себе или после Visible=true в каком то коде? ...Сама по себе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 09:57:02 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
Bagin Serge GavrilovА чем не устраивает событие Change вкладки?Эта подформа используется во многих других формах, а на некоторых даже несколько раз (всего больше в 20 местах). Есть два варианта: 1) попытаться отловить событие в самой подформе и прописать один раз в ее модуле 2) отлавливать событие во всех главных формах, т.е. прописать более 20 раз это событие, где будет вызов соответствующей функции. Хочу попробовть сделать первый вариант Предлагаю делать по человечески (смесь первого и второго вариантов) Код пишете один раз в форме (типа Public Sub MySuperSub) А в нужных 20 местах просто обращаетесь к вашей процедуре, а не копируете эти действия 20 раз :) (типа Call Me.Sub1.MySuperSub) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 10:21:21 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
paparomeА в нужных 20 местах просто обращаетесь к вашей процедуреВот этого я и хотел избежать, и если и дальше вставлять эту форму в другие, то чтобы не надо было заботиться о том, чтобы запускать необходимую процедуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 10:35:46 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
могабыть таймер? И в нем: If me.Visble = true Then или (с флажком предыдущего опроса)^ Static bMeVisible As Boolean if bMeVisible <> me.Visble Then bMeVisible = me.Visble должно работать (вот только таймеры - вестчь противная в отладке прочего кода) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 11:23:13 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
Bagin paparomeА в нужных 20 местах просто обращаетесь к вашей процедуреВот этого я и хотел избежать, и если и дальше вставлять эту форму в другие, то чтобы не надо было заботиться о том, чтобы запускать необходимую процедуру. Э-э-э - лень? Вы когда комбик вставляете - вы же не предполагаете, что он сам вам все свойства выставит так как вам хочется и подключит нужные события? Нет? А почему тогда вас смущает одно событие для каждой подформы с одной строкой в нем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 11:28:00 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
а таймер не помогет?могабыть таймер? И в нем: If me.Visble = true Then или (с флажком предыдущего опроса)^ Static bMeVisible As Boolean if bMeVisible <> me.Visble Then bMeVisible = me.Visble должно работать (вот только таймеры - вестчь противная в отладке прочего кода)Тоже вариант, но почему-то я не люблю связываться с таймером, систему будет лишний раз грузить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 11:30:20 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
paparome Э-э-э - лень? Вы когда комбик вставляете - вы же не предполагаете, что он сам вам все свойства выставит так как вам хочется и подключит нужные события? Нет? А почему тогда вас смущает одно событие для каждой подформы с одной строкой в нем? Когда я вставляю подформу, то в тэге контрола этой подформы прописываю параметры, и ВСЕ действия подформа выполняет сама (подключается к необходимым данным, подгоняет автоматом свой размер под заданный в конструкторе контрол и т.д.). И вот тут появляется исключение. Очень уж заманчиво реализовать отлов этого события в самой подформе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 11:38:10 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
так-так так... ?А если: В классе делаете что-нить (скорее всего - просто контрол) виз_эвентс и отрабатываете Change этого контрола при открытии формы (OnOpen) передаете в новый (AS NEW) экземпляр этого класса контрол парента, который содержит вас (т.е. саму форму; - как найти контрол, содержащий вызвавший экземпляр формы тут уже обсуждалось). И тогда весь код, похоже, разместится в классе + в самой форме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 11:56:21 |
|
||
|
Детский вопрос: Как отловить событие, когда форма становится видимой на экране, но не активной?
|
|||
|---|---|---|---|
|
#18+
А еслитак-так так... ?А если: В классе делаете что-нить (скорее всего - просто контрол) виз_эвентс и отрабатываете Change этого контрола при открытии формы (OnOpen) передаете в новый (AS NEW) экземпляр этого класса контрол парента, который содержит вас (т.е. саму форму; - как найти контрол, содержащий вызвавший экземпляр формы тут уже обсуждалось). И тогда весь код, похоже, разместится в классе + в самой форме. Ни разу не связывался с классами. Попробую, если получиться, то выложу, если нет, наверно таймер сделаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 12:25:11 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32728599&tid=1671239]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
56ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 345ms |

| 0 / 0 |
