Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Кстати, мне тоже про фокус интересно:-) / 7 сообщений из 7, страница 1 из 1
11.06.2003, 11:39
    #32181123
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кстати, мне тоже про фокус интересно:-)
Тоже с фокусом не все понятно, хотя кода уже много написано. Помогите, плеасе, разобраться.

Есть две загруженные формы. Одна пусть зовется Ф1. В ней по Дблклику я фильтрую вторую загруженную форму MailLists, подфильтровываю имеющуюся в ней подчиненную табличную Child6 и пытаюсь поставить фокус на поле NickName в этой подчиненной. Результат - фокус остается в Ф1, хотя промелькивание по полю NickName визуально наблюдается и текст в нем выделен черным. Что происходит-то? Думал, что какие-то события лишние происходят в MailLists и Child6 - но отладчик не выявляет.
И вообще, как мне выбраться из Ф1 и минимизировать ее? Можно ли из произвольной формы минимизировать окно другой загруженной формы (по названию), или минимизация происходит только посредством DoCmd.Minimize активной формы?

Навсякий случай привожу текст куска кода в Ф1 с "передачей фокуса":

If IsLoaded("MailLists") Then
Forms!MailLists.Filter = str
Else
DoCmd.OpenForm "MailLists", , , str, , , 1
End If
Forms!MailLists.Child6.Form.Filter = str1
Forms!MailLists.Child6.Form.FilterOn = True
Forms!MailLists.Child6.Form.NickName.SetFocus
...
Рейтинг: 0 / 0
11.06.2003, 11:48
    #32181140
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кстати, мне тоже про фокус интересно:-)
В любом случае надо сперва отдать фокус SubForm'е, а потом уже и контролу на ней, с формой вполне возможно тоже
...
Рейтинг: 0 / 0
11.06.2003, 12:04
    #32181166
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кстати, мне тоже про фокус интересно:-)
Помогло! Сначала надо форме передать фокус, а потом на поле в субформе:

Forms!MailLists.SetFocus
Forms!MailLists.Child6.Form.NickName.SetFocus

Спасибо!

Но вот этот вопрос остается: как мне форму Ф1, из которой я MailLists вызываю, минимизировать. Если я DoCmd.Minimize делаю, то он неизбежно MailLists минимизирует, а не Ф1. Независимо от того, куда я это DoCmd ставлю - до или после передачи фокуса. И вообще, хотелось бы знать, можно ли из одной формы минимизировать другую загруженную, и если можно, то как.
...
Рейтинг: 0 / 0
11.06.2003, 12:40
    #32181207
Нуф-нуф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кстати, мне тоже про фокус интересно:-)
Forms!Форма1.SetFocus
DoCmd.Minimize

где Форма1 - минимизируемая форма...
...
Рейтинг: 0 / 0
11.06.2003, 12:46
    #32181217
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кстати, мне тоже про фокус интересно:-)
Если я правильно помню, это может быть сделано так:
а) в форме, которой нужно управлять,
создается PUBLIC SUB,
в котором и выполняется minimize

б) для вызова обращение д.б. навроде
forms!Имяформы.имяСАБы (САБа будет "методом" формы)

Но не проверял ;)
...
Рейтинг: 0 / 0
11.06.2003, 12:53
    #32181230
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кстати, мне тоже про фокус интересно:-)
Ага, работает:

В форме:

Public Sub MinimizeMe()
DoCmd.Minimize
End Sub

Вызов откуда надо:
Forms![админ].MinimizeMe

из модуля, ForEx:
Sub TestMinimize()
Forms![админ].MinimizeMe
End Sub
...
Рейтинг: 0 / 0
11.06.2003, 13:29
    #32181289
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кстати, мне тоже про фокус интересно:-)
Спасибо! Ужо теперь-то я ими всеми поуправляю :-)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Кстати, мне тоже про фокус интересно:-) / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]