![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите вернуть курсор...... [D7, NT4, Win2k, WinXP]
aleshap © (2006-03-07 16:06:00)Всем добрый день! И с праздником женскую половину (если такая имеется)
Есть проблема.
Форма на которой расположены около 10-ти полей TEdit. В действии OnExit одного из них (пусть Edit1) написан следующий код:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
WAIT.Show;
sleep(400); // ... неважно...
WAIT.Hide;
end;
WAIT - форма типа "Ждите" (без элементов управления - да это и не важно)
И как только я перехожу с данного поля на любое другое, то теряется курсор (не мыши), и не обрабатывается событие OnEnter поля на которое перехожу, хотя при вводе с клавиатуры буковки появляются.
Помогите вернуть курсор.
Заранее благодарен!
aleshap (2006-03-09 17:02:00) [1][22] Спасибо Большое!
ALS (2006-03-09 15:21:00) [2]Проблема решается заменой
WAIT.Hide;
на
PostMessage(WAIT.Handle, WM_CLOSE, 0, 0);
Leonid Troyanovsky (2006-03-09 14:40:00) [3]
> shap (09.03.06 14:18) [19]
> Но форму все же надо закрыть... путь и не Hide ([11] выбирайте
> все что вам угодно) и Что?
Кому нужно?
Обычно формы показывают юзеру. Прочитал он адресованное ему,
и закрыл. Если нужно ограничить по времени ставят таймер.
> Модальность давайте затрагивать не будем! Т.к. это уже другая
> историй. Вы же не меняли условия задач по математике(физике)
> в школе, чтобы ее решить - [17]
Почему, собс-но, модальность оказалась вне обсуждений.
И какие еще условия установлены (или не обсуждаются).
По-моему, ты чего-то недоговариваешь по существу.
Что за задача решается (и зачем).
--
Regards, LVT.
aleshap (2006-03-09 14:22:00) [4]Мне кажется, что обсуждения уходят уже не в то русло, которое могло бы привести к решению проблемы!
А фантазии на тему "Давайте переделаем мир" - я считаю неприемлемо
Всем спасибо!
aleshap (2006-03-09 14:18:00) [5]
> А почему ты полагаешь, что я всего этого не читал?
> И что такого глубокого содержится в комментарии // ... неважно.
> ..
Кто как читает так и может!
Хорошо если это вам так мешает - то убирает,
sleep(400); // ... неважно...
Но форму все же надо закрыть... путь и не Hide ([11] выбирайте все что вам угодно) и Что?
Модальность давайте затрагивать не будем! Т.к. это уже другая историй. Вы же не меняли условия задач по математике(физике) в школе, чтобы ее решить - [17]
> Т.е., пока я не видел никакого внятного описания проблемы
Вы можете найти в самом вопросе, после его внимательного прочтения.
Leonid Troyanovsky (2006-03-09 13:56:00) [6]
> aleshap (09.03.06 13:39) [16]
> По поводу sleep - данная команда к проблеме не имеет совершенно
> НИКАКОГО отношения, и была включена в код (кстати с комментарием
> - я в принципе предполагал, что читающий обратит на него
> внимание) для пояснения, что между открытием и закрытием
> формы - содержится некий код опять-таки не имеющий НИКАКОГО
> отношения к проблеме.
А почему ты полагаешь, что я всего этого не читал?
И что такого глубокого содержится в комментарии // ... неважно...
Теперь, с самого начала. Убираем
sleep(400); // ... неважно...
WAIT.Hide;
И фокус виден всегда, вне зависимости от способа закрытия формы
(вручную или таймером). Хотя, скорее всего, этой форме больше
пристало быть модальной.
Т.е., пока я не видел никакого внятного описания проблемы
(кроме симптомов сомнительного происхождения).
--
Regards, LVT.
aleshap (2006-03-09 13:45:00) [7]> [15] видимо нарушается логика обработки перехода контролов...
Да спасибо, это конечно поможет, но мне не нужно "обходное" решение (в виду поставленной задачи).
К сожалению, необходимо решение данной проблемы.
P.S. Хотя я чувствую, что другого выхода по всей видимости нет.
aleshap (2006-03-09 13:39:00) [8]Да конечно!
По поводу sleep - данная команда к проблеме не имеет совершенно НИКАКОГО отношения, и была включена в код (кстати с комментарием - я в принципе предполагал, что читающий обратит на него внимание) для пояснения, что между открытием и закрытием формы - содержится некий код опять-таки не имеющий НИКАКОГО отношения к проблеме.
По поводу Hide - потрудитесь прочесть [4], [5], [10] и [11].
Теперь потрудитесь обосновать ваше сообщение [12] и какое отношение оно имеет к проблеме?
REA (2006-03-09 13:32:00) [9]видимо нарушается логика обработки перехода контролов.
думаю можно послать самому себе в обработчике OnExit какое нибудь свое сообщение вроде WM_WAITWINDOW и в нем уже проделать все что нужно.
Leonid Troyanovsky (2006-03-09 13:29:00) [10]
> aleshap (09.03.06 13:22) [13]
> Не утруждайте себя глупыми замечания совершенно не относяшиеся
> к делу!
Потрудись обосновать свои слова, как насчет глупости,
так и насчет отношения к делу.
--
Regards, LVT.
aleshap (2006-03-09 13:22:00) [11]>Sleep здесь абсолютно не по делу (как, собс-но, и Hide).
Господа - вы о чем...
Не утруждайте себя глупыми замечания совершенно не относяшиеся к делу!
Leonid Troyanovsky (2006-03-09 12:48:00) [12]
> aleshap (09.03.06 12:29) [11]
> Дело вовсе не в этом...
Sleep здесь абсолютно не по делу (как, собс-но, и Hide).
--
Regards, LVT.
aleshap (2006-03-09 12:29:00) [13]>Ты её не закрываешь, а прячешь. Вставь после WAIT.Hide; SetFocus;
Дело вовсе не в этом...Можно ставить хоть Hide, хоть Close, хоть Free - результат один и тот же. И никакой SetFocus в этом не поможет... читайте [4] и [5].
Плохиш (2006-03-09 11:15:00) [14]
> aleshap (07.03.06 16:53) [4]
> Да показываю, но еще форму2 я и закрываю - фокуса там оставаться
> не должно
Ты её не закрываешь, а прячешь. Вставь после WAIT.Hide; SetFocus;
aleshap (2006-03-09 10:59:00) [15]Господа знатоки, еще раз обращаю ваше внимание к проблеме....
Германн (2006-03-08 02:27:00) [16]
> ArtemESC © (07.03.06 22:54) [7]
>
> Application.ProcessMessages - наверное...
Мимо.
ArtemESC (2006-03-07 22:54:00) [17]
Application.ProcessMessages- наверное...
aleshap (2006-03-07 18:42:00) [18]Да по всей видимости проблема на много серьезнее чем я предполагал....
Джо (2006-03-07 17:16:00) [19]> [4] aleshap (07.03.06 16:53)
Да, действительно, пропадает и Caret и выделение, хотя фокус ввода второй Edit получает, странно. Извините, сразу не понял.
aleshap (2006-03-07 16:53:00) [20]Да показываю, но еще форму2 я и закрываю - фокуса там оставаться не должно и не остается
По всей видимости вы не понимаете, поэтому я вам и предложил наиграть ситуацию...