Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как отловить потерю фокуса в Grid'е / 7 сообщений из 7, страница 1 из 1
29.08.2003, 02:53
    #32250782
Сергей Д.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отловить потерю фокуса в Grid'е
Есть форма с гридом и кучей других радостей. Нужно:
пока фокус на гриде при нажатии, скажем пробела, вызываем другую форму,
если грид потерял фокус, при нажатии пробела просто вставляем пробел в строку редактирования.
...
Рейтинг: 0 / 0
29.08.2003, 06:01
    #32250797
EsKor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отловить потерю фокуса в Grid'е
А если использовать событие KeyPress объекта Text Грида для вызова другой формы?
А если фокус не на гриде, то он должен быть на чем-то другом? А для отлавливания нажатия "скажем пробела", использовать опять же событие KeyPress этого чего-то другого?
...
Рейтинг: 0 / 0
29.08.2003, 08:04
    #32250838
Aijik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отловить потерю фокуса в Grid'е
Согласен с Eskor

По поводу же непосредственно сабжа...

1. Имеет грид фокус или нет, можно определить по свойству формы ActiveControl
Код: plaintext
1.
IF ThisForm.ActiveControl.Name =  "MyGrid" 
.............

2. Единственный способ отловить событие потери фокуса гридом - это поместить его в контейнер и писать обработку события LostFocus контейнера. Другого пути нет, к сожалению MS не одарило нас событием LostFocus грида
...
Рейтинг: 0 / 0
29.08.2003, 11:18
    #32251055
Сергей Д.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отловить потерю фокуса в Grid'е
Дело обстоит так:
в Init грида стоит ON KEY LABEL SPACEBAR DO FORM ...
как только грид потерял фокус, значит попали на текстовые поля и там пробел - это просто побел. Значит при потере фокуса гридом "нужно вписать в чью то тетрадь, кровью как в метроплитене..." строку ON KEY LABEL SPACEBAR. Только в чью? В activate самой формы? Потму как в лом писать в got focus 20 строковых полей это дело, да и некрасиво.
...
Рейтинг: 0 / 0
29.08.2003, 11:35
    #32251087
Aijik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отловить потерю фокуса в Grid'е
Поставьте св-во формы KeyPreview = .T. При этом До отработки KeyPress контрола будет выpываться KeyPress формы... Вот в нем и проверяйте наличие у грида фокуса. Как это сделать, я писал выше
...
Рейтинг: 0 / 0
29.08.2003, 11:38
    #32251096
Aijik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отловить потерю фокуса в Grid'е
А вообще лучше, всё равно, вызов вашей формы, как советовал Escor, делать в событии KeyPress текстбоксов грида.. и никакого геморра с фокусами и ON KEY LABEL
...
Рейтинг: 0 / 0
01.09.2003, 09:36
    #32252329
Сергей Д.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отловить потерю фокуса в Grid'е
Спасибо. Порешил ее методом, предложенным EsKor.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как отловить потерю фокуса в Grid'е / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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