powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SetFocus для TxtBox
12 сообщений из 12, страница 1 из 1
SetFocus для TxtBox
    #32638121
miv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
miv
Гость
Добрый день!
Не могу побороть этот чертов SetFocus
Как в принципе решаются такие вещи?
Есть txtBox1,txtBox2 и txtBox3.В LostFocus для txtBox1 я пишу процедурку поиска.
Если поиск успешен, то курсор по setfocus попадает в txtBox3
Если не успешен, вызывается диалоговое окно с вопросом типа
будем искать 1 - также или 2 - по другому
Если 1, то надо попасть в txtBox1
Если 2, то надо попасть в txtBox2
И ни хрена не работает!
Я ему txtBox1.setfocus, а он паразит, уходит
по TabOrder :(
Есть рецепт?
С уважением.
...
Рейтинг: 0 / 0
SetFocus для TxtBox
    #32638159
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в событии Valid() в команде RETURN указать числовое значение, то фокус будет перемещен на указанное количество объектов вперед (или назад) в соответствии с TabOrder.

TextBox1.Valid()

...

RETURN (ThisForm.txtBox3.TabOrder-This.TabOrder)
...
Рейтинг: 0 / 0
SetFocus для TxtBox
    #32641533
miv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
miv
Гость
К сожалению, не выходит.
К тому же taborder нету для textbox. (фокс 7.0)
Сбой происходит в случае вызова диалогового окна.
Ощущение, что фокс при "уходе" с экрана теряет
последовательность taborder.

Есть еще варианты?
С уважением.
...
Рейтинг: 0 / 0
SetFocus для TxtBox
    #32641995
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опечатка

Это свойство называется TabIndex (TabOrder действительно не существует вообще ни у одного объекта). И оно есть у всех объектов, которые могут принимать фокус.
...
Рейтинг: 0 / 0
SetFocus для TxtBox
    #32642012
miv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
miv
Гость
Номер все равно не проходит :(
Пришлось обходить:
Сделал кнопку ПОИСК, под click которой
сидит вызов метода поиска и проверка на успех/неуспех.
В txtBox по keyPress вызывается
ПОИСК.setfocus.
И уже по успех/неуспех прыгаю в нужные поля.
Это Седьмой круг ада какой-то...
А с TabIndex так ничего и не вышло.
С уважением.
...
Рейтинг: 0 / 0
SetFocus для TxtBox
    #32642097
zun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
zun
Гость
Насколько я понял, Вы из формы вызываеие другую форму(поиск).
Когда поиск отработал, отрабатывает событие "Activate"
основной формы, и фокус сбивается.
...
Рейтинг: 0 / 0
SetFocus для TxtBox
    #32642186
miv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
miv
Гость
Ну да! :(
Фокус пропадает.
Надо как-то запоминать, что-ли...
Но это как-то все криво и не красиво.
...
Рейтинг: 0 / 0
SetFocus для TxtBox
    #32642198
Псюшка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где именно (в каком методе какой формы) ты просишь кинуть setfocus на первый текстбокс? ИМХО, ошибка исключительно в неправильном выборе места.
Если вызываешь из другой формы, то в качестве компромиса могу предложить создать в форме с текстбоксом метод, например, forsetfocus()
Из формы поиска в нужном месте вызвать FormXXX.forsetfocus() (кстати можно с параметрами, определяющими куда именно скакать будем), а уже в этом методе прописать setfocus - тогда, возможно, activate отработает до setfocus и ничего не собъет...
...
Рейтинг: 0 / 0
SetFocus для TxtBox
    #32642505
zun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
zun
Гость
1.Введите новое свойство основной формы, например
_activate
2. Присвойте ему значение по умолчанию .T.
3. В событии Click кнопки перед вызовом формы "Поиск"
напишите:
ThisForm._activate = .F.
4. В событии Activate основной формы напишите:
If ThisForm._activate
....... & здесь Ваши операторы
.......
Else
ThisForm._activate = .T.
И все.
...
Рейтинг: 0 / 0
SetFocus для TxtBox
    #32644592
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я добавил свойство THISFORM.lost_obj_name
Для события LostFocus объекта пишу THISFORM.lost_obj_name=THIS.name

А в Activate для формы по

If ThisForm._activate
*....... & здесь Ваши операторы
*.......

ELSE

DO CASE
CASE THISFORM.lost_obj_name='txt1'
THISFORM.объект_формы1.setfocus
CASE THISFORM.lost_obj_name='txt2'
THISFORM.объект_формы2.setfocus
ENDCASE
ThisForm._activate = .T.
endif
...
Рейтинг: 0 / 0
SetFocus для TxtBox
    #32996821
alex_dch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересное решение, но работает!!!

Создаю еще один текстбокс, делаю его невидимым, и в таб-ордере
даю ему номер на 1 меньший чем у нужного текстбокса.
потом когда надо сделать фокус на требуемом, делаю сетфокус на невидимом и он переходит..
...
Рейтинг: 0 / 0
SetFocus для TxtBox
    #32997316
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 miv

Перемести поиск из Textbox3.LostFocus в его Valid и воспользуйся подсказкой ВладимираМ.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SetFocus для TxtBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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