:: Visual Foxpro, Foxpro for DOS
Убедиться, что фокус в форме именно на нужном поле
Saratoga
Автор

Сообщений: 494
Дата регистрации: 02.02.2004
Как убедиться, что фокус в форме стоит именно на нужном поле, а то получается, что повторная команда setfocus(), выполненная по таймеру, заставляет прыгать курсор на редактируемом мною поле в его начало, т.е. за курсором не угнаться...Вот если бы таймер как то определил, что фокус уже стоит в нужном месте и нечего его лишний раз выставлять...
Ratings: 0 negative/0 positive
Re: Убедиться, что фокус в форме именно на нужном поле
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
Чем ActiveControl не подходит?
Ratings: 0 negative/0 positive
Re: Убедиться, что фокус в форме именно на нужном поле
Saratoga
Автор

Сообщений: 494
Дата регистрации: 02.02.2004
Да, как то упустил из виду, спасибо
Ratings: 0 negative/0 positive
Re: Убедиться, что фокус в форме именно на нужном поле
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi Saratoga!

Вообще-то переводить фокус по таймеру - это из разряда извращений. Я
понимаешь ввожу какие-то данные, отвернулся на секунду от монитора (в
бумажку например глянуть) - смотрю, а половина слова уже в совсем другое
поле ввелась Кошмар да и только!




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Убедиться, что фокус в форме именно на нужном поле
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
может у него таймер сбрасывается по keypress
Ratings: 0 negative/0 positive
Re: Убедиться, что фокус в форме именно на нужном поле
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi Влад!

А может я старенький, немощный и буковки медленно вбиваю?
Не видел я нигде программ, где фокус бы по таймеру самопроизвольно куда-то "перескакивал". Ладно бы ещё там по хоткею, или по заполнению поля (по какому-то условию на введённые данные).




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Убедиться, что фокус в форме именно на нужном поле
Maestro

Сообщений: 533
Откуда: г.Благовещенск А
Дата регистрации: 14.08.2002
2: Saratoga... Тебе скорее всего нужно, когда управление забирает таймер ... установить все контролы в Disable... а потом вернуть назад...
Ratings: 0 negative/0 positive
Re: Убедиться, что фокус в форме именно на нужном поле
Saratoga
Автор

Сообщений: 494
Дата регистрации: 02.02.2004
Короче ситуация такая: в программе реализована служба текстовых сообщений между пользователями (что то вроде примитивного Icq). Таймер через определенные интервалы анализирует общую табличку с сообщениями, если пользователю упало что то новое, он активизирует окошко с сообщением. А фокус по таймеру я ставил на эту форму принудительно по той причине, чтобы вытащить это окно из под других окон, т.к. alwaysontop сначала мне показалось не совсем удобным (окно с сообщениями обычное modeless, на то есть свои причины). Короче потом обошелся тем, что в момент выталкивания окна с сообщением наверх я выставляю alwaysontop в .t. и тут же снова ставлю его в .f., чтобы не мешало другим окнам... Ну а выснить, стоит ли курсор на нужном поле мне потребовалось, чтобы в тот момент, когда юзер набивает в этом же окне ответный текст, но в другом поле, чтобы таймер определил, что фокус у юзера с его поля забирать нельзя. Там при поступлении сообщения фокус может по ситуации вставать на разнные поля - того требует удобство и комфорт работы с этим окном. Короче задачку решил, получилось все замечательно, отдал на растерзание пользователям..
Всем спасибо за советы
Ratings: 0 negative/0 positive
Re: Убедиться, что фокус в форме именно на нужном поле
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi Saratoga!

Не пользую клиента ICQ, а в Miranda окно с новым сообщением У МЕНЯ не вылазит наверх, и тем паче не отбирает фокус у того окна где он был, а тихо-мирно моргает на таскбаре, ждёт пока я соизволю обратить на него внимание (будут "уши" - будет ещё и звуковое сопровождение). IMHO это неплохой пример для подражания в плане интерфейса... Можно ещё оттуда позаимствовать всплывающие полупрозрачные окна - тоже не сильно напрягает, не мешает работе и вполне наглядно




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Убедиться, что фокус в форме именно на нужном поле
Saratoga
Автор

Сообщений: 494
Дата регистрации: 02.02.2004
Ну это да, но Миранда и ICQ (цеты на могиле времени) - в общем-то для неделового общения, у меня же задача была повысить приоритет посылаемых фраз. Т.к. заказывал всю эту фигню директор - для неголосового управления своими подчиненными. И "чтобы окно выскакивало" - шло одним из пунктов технического задания
Ratings: 0 negative/0 positive
Re: Убедиться, что фокус в форме именно на нужном поле
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
А net send не подходит?
Ratings: 0 negative/0 positive
Re: Убедиться, что фокус в форме именно на нужном поле
Saratoga
Автор

Сообщений: 494
Дата регистрации: 02.02.2004
для юзера удобнее все же функция в программе - там и автоответ, и выбор пользователей из справочника мышкой, и настройка шрифта, звука и всяких подобных мулек Причем сообщения не теряются, если пользователя в этот момент в программе нет, есть и архив сообщений
Ratings: 0 negative/0 positive
Re: Убедиться, что фокус в форме именно на нужном поле
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Серьезная вещь! Одни мои знакомые рассказывали, что на их предприятии была внедрена система выдачи и контроля заданий. Довольно интересная штука полагаю.
Ratings: 0 negative/0 positive
Re: Убедиться, что фокус в форме именно на нужном поле
leaf

Сообщений: 445
Откуда: Ростов-на-Дону
Дата регистрации: 30.05.2005
2Влад Колосов
знакомые не на сельмаше работают ?




------------------
"Once bitten twice shy" - кто обжогся на молоко тот дует водка (немецка поговорка )
вариант от промпта - "После того, как укушенный дважды застенчивый"
Каждую секунду, тыкая в клавиши, ты давишь насмерть не менее 1000 микробов
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 51 (Гостей: 51)

© 2000-2024 Fox Club 
Яндекс.Метрика