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

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

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

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


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