Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Метод setfocus / 5 сообщений из 5, страница 1 из 1
31.08.2004, 15:38
    #32673590
karpi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Метод setfocus
Добрый день!
В методе LostFocus объекта Text1 после нажатия Enter выполняется форма
DO FORM form1 и после выхода из form1 мне необходимо установить курсор снова в объект Text1, т.е. делаю так
в методе LostFocus

DO FORM form1
ThisForm.Text1.Setfocus

Но он мне устанавливает курсор на следующий объект Text2 по обходу Set Tab Order.
Помогите с это проблемой.
...
Рейтинг: 0 / 0
31.08.2004, 16:03
    #32673670
sz1
sz1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Метод setfocus
karpiDO FORM form1
ThisForm.Text1.Setfocus

Но он мне устанавливает курсор на следующий объект Text2 по обходу Set Tab Order.
Помогите с это проблемой.
После возврата из FORM1 у Вас происходит событие Activate
в вызывающей форме, поэтому фокус и не встает, куда нужно
...
Рейтинг: 0 / 0
01.09.2004, 08:21
    #32674508
sar99
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Метод setfocus
ДОБРЫЙ ДЕНЬ!
ЕСЛИ ВЫ ВСЕ ЖЕ УСТАНОВИТЕ ФОКУС НА TEXT1
ТО ПРИ ВЫХОДЕ (LOSTFOCUS) У ВАС ОПЯТЬ ФОРМА ВЫСКОЧИТ
И ТАК ДО БЕСКОНЕЧНОСТИ! ЧТО-ТО У ВАС В ИНТЕРФЕЙСЕ НЕ ПРОДУМАНО!
...
Рейтинг: 0 / 0
01.09.2004, 08:30
    #32674518
sar99
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Метод setfocus
А ЕСЛИ РАССМОТРЕТЬ ПРОБЛЕММУ ВОЗВРАТА ФОКУСА(НО НЕ
БЕЗУСЛОВНУЮ ЧТО ЛИШЕНО СМЫСЛА А ПО УСЛОВИЮ)
ТО В GOTFOCUS СЛЕДУЮЩЕГО ОБЬЕКТА ПИШЕМ:
IF <УСЛОВИЕ>
THISFORM.TEXT1.SETFOCUS()
ENDIF
...
Рейтинг: 0 / 0
01.09.2004, 09:46
    #32674635
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Метод setfocus
Метод SetFocus() игнорируется в методах потери фокуса. Т.е. давать эту команду в методе LostFocus() бессмысленно! Она будет проигнорирована.

Кроме того, если твоя форма НЕ модальная, то на команде DO FORM не произойдет остановки выполнения метода и метод LostFocus благополучно завершится, хотя форма все еще будет висеть на экране. В этом случае надо давать команду перевода фокуса не из родительской формы, а непосредственно из вызванной формы. Как-то так:

FormParent.TextBox2.SetFocus()

Если дочерняя форма модальная, то можно перевести ее вызов в метод Valid(), дело в том, что если в методе Valid() дать команду

RETURN 0

то выхода из объекта не произойдет. Хотя я бы так не делал. Есть риск "подвесить" всю форму - невозможно будет ее закрыть, поскольку нельзя будет выйти из объекта.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Метод setfocus / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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