Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Можно ли определить в LostFocus текущего контрола....-> / 9 сообщений из 9, страница 1 из 1
27.09.2004, 11:05
    #32712272
Dushes
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли определить в LostFocus текущего контрола....->
Вот что-то торможу я: Можно ли определить в LostFocus текущего контрола тот контрол, который станет активным (получает фокус)?

С уважением
duШes
....return ThisForm.exGrid1.p_oColumns("COLUMN1").M_AddHeader("header4",4)
...
Рейтинг: 0 / 0
27.09.2004, 11:20
    #32712310
MarinaVP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли определить в LostFocus текущего контрола....->
НИЗЯ
А как ты узнаешь - толи мышкой ткнули, то ли вообзе форму закрыли
...
Рейтинг: 0 / 0
27.09.2004, 11:34
    #32712345
Dushes
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли определить в LostFocus текущего контрола....->
Да смешного вообще-то мало, обработка события LostFocus происходит уже после того, как курсор перемещается в другой контрол.....но на данном этапе ActiveControl пока NULL....вот и хотелось бы узнать, можно ли минуя ActiveControl узнать, в каком контроле сейчас курсор...

С уважением
duШes
....return ThisForm.exGrid1.p_oColumns("COLUMN1").M_AddHeader("header4",4)
...
Рейтинг: 0 / 0
27.09.2004, 12:16
    #32712448
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли определить в LostFocus текущего контрола....->
ну да типа текущий контрол не определен т.к. происходит его смена
я как-то давно пятался вызвать в методе setfocus setfocus другого контрола ничего хорошего не получил в лучшем случае курсор дергался так я бросил
и вам советую найти другое решение
...
Рейтинг: 0 / 0
28.09.2004, 09:22
    #32713948
Можно ли определить в LostFocus текущего контрола....->
to leaf

Если Вы хотите перейти из контрола, только что получившего фокус, на другой контрол, то пропишите код для перехода в методе GotFocus.
Метод SetFocus пытается передать фокус контролу, фактическое же получения фокуса генерит событие GotFocus. Например, контрол может быть запрещён (Enabled=.f.) или невидим, тогда Вы можете сколько угодно вызывать его метод SetFocus - событие GotFocus не произойдёт.

to Dushes

Контрол, который получит фокус по умолчанию, имеет значение свойства TabIndex на 1 большее, чем у текущего контрола. Естетственно, этот контрол должен уметь получать фокус (т.е. у него должен быть метод GotFocus).
Можно так же использовать обработчик события When Event. Перед возникновением события LostFocus текущего контрола происходит событие When контрола, который получит фокус.
...
Рейтинг: 0 / 0
29.09.2004, 03:23
    #32715694
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли определить в LostFocus текущего контрола....->
2 Вячеслав

> Контрол, который получит фокус по умолчанию, имеет значение свойства
> TabIndex на 1 большее, чем у текущего контрола.

Не всегда - может быть и переход _назад_. Не говоря уже о прямом переходе
мышой.

> Можно так же использовать обработчик события When Event.

Только при переходе мышой. Если с клавиатуры, то When произойдёт _после_
LostFocus

P.S. Блин, зачем помещать одинаковые вопросы на разные форумы? Неужели
удобно потом компоновать ответы из кучи источников :( И главное поиском
воспользоваться всех ломает :(

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
04.10.2004, 10:56
    #32721717
Dushes
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли определить в LostFocus текущего контрола....->
Во избежание непонимания проблемы поясню:
Разрабатываю класс для контекстного выбора или поиска значения из справочника: построен класс на основе базового класса TEXTBOX, функционал должен быть таков что при вводе пользователем символов в поле ввода (обработка события InterActiveChange) должен под полем ввода раскрываться справочник (построенный к примеру на основе грид) в случае если есть вхождения по какому-то заранее заданному условию отбора...

Дык вот, справочник создается динамически и помещается в AlwaysOnTopLevel форму (тоже создаваемую динамически), фокус должен остаться в самом поле ввода (based on TEXTBOX Class).
Почему не поместил все это дело в контейнер? - Хотелось бы, чтобы сам спрачоник мог размещаться и за границами родительскго окна, например, в случае если в справочнике отображается несколько колонок. В случае использования контейнера его границы не смогут выйти за границы окна....

Далее, наконец-то до дошел до проблемы: Необходимо организовать работу так, чтобы при потере фокуса из поля ввода например в другое поле открытый справочник закрывался, а если фокус передается самому справочнику, форма со справочником должна остаться....Обратно, при потере фокуса самой формой она должна закрываться, если фокус перемещается в другой контрол, и напротив, остаться, если щелкаем к примеру в родное поле ввода....Т.е. в данном случае необходимо знать, куда переместился фокус в самом поле ввода (в обработке lostfocus) и аналогично при потере фокуса в справочнике на форме...

Поясню картинкой, размещенной вот здесь

С уважением


duШes
....return ThisForm.exGrid1.p_oColumns("COLUMN1").M_AddHeader("header4",4)
...
Рейтинг: 0 / 0
04.10.2004, 23:47
    #32723063
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли определить в LostFocus текущего контрола....->
Я бы посоветовал быть попроще :)
У меня подобное поле ввода САМО не открывает форму, и естественно фокус
никуда не уходит. НО уж если пользователь таки попадает в форму выбора (а
это и хоткей, и просто попытка выйти из текстбокса, когда ввод в нём
неоднозначен - т.е. потенциально есть несколько соответствий - или пуст -
нет соответствий). У меня сейчас сделано это (выбор, а возможно и ввод новой
записи! из грида-списка) на модальной форме - во многом потому что такой
текстбокс лежит обычно в гриде, а там координировать всё довольно напряжно
:( Но если текстбокс будет просто лежать на форме, то можно реализовать
полностью немодальный интерфейс - просто: а) не показывать заранее форму
выбора. б) при показе вормы выбора для конкретного текстбокса - блокировать
его - ессно что закрытие основной формы должно сопровождаться и закрытием
всех открытых к ней форм выбора (а их может быть > 1).

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
05.10.2004, 09:14
    #32723215
Dushes
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли определить в LostFocus текущего контрола....->
Вопрос снят.....задачу решил....
Форму отдельно создавать не стал...класс должен быть полностью в себе и не зависеть от внешних компонентов, поэтому сделал создание формы для выбора значений из справочника на момент события InterActiveChange, причем если вхождений нет, форма не открывается, если есть, предоставляется дальнейший выбор из справочника в немодальной форме, в которую пользователь может войти для осуществления выбора, и также выйти из нее или обратно в текстовое поле или вообще из контрола с последубщим закрытием формы....

Всем спасибо за дельные советы..

С уважением
duШes
....return ThisForm.exGrid1.p_oColumns("COLUMN1").M_AddHeader("header4",4)

ps: foxclub стал очень тормозить, поиском практически невозможно пользоваться - а жаль, много инфы там лежит:(, короче, пора переезжать сюда ;)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Можно ли определить в LostFocus текущего контрола....-> / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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