vip писал(а) 05. Марта 2008 :: 12:13:При быстром поиске всегда же перепозиционирование происходит.
Не, не всегда.
К примеру, у меня есть несколько похожих названий, типа
- кофе в зернах
- кофе молотый
- кофе в постель
и т.д.
Я ж не буду писать в окне БП полностью, я наберу "кофе" и ...
1. просто подожду таймаут
ТП действительно перепозиционируется, окно БП останется открытым
я посмотрю, что я нашел нужный кофе, нажму ENTER и получу событие ПриОкончанииБыстрогоПоиска(1, 0);
т.е. в событии я получаю информацию о том, что последнее нажатие ENTER не перепозиционировало ТП.
значит, я сознательно нажал ENTER и могу сделать Выбор().
2. я тороплюсь, поэтому сразу же нажимаю "ENTER".
ТП перепозиционируется, окно БП закрывается
я попадаю на первый попавшийся кофе и получаю событие ПриОкончанииБыстрогоПоиска(1, 1);
т.е. последний ENTER перепозиционировал ТП, я прилетел неизвестно откуда и не имел возможности увидеть, куда конкретно я попал
значит, я не буду делать Выбор()
Цитата:А если нажать ESC, то курсор просто остается на найденной строке и все.
Так что, видимо, ты что-то лишнее задумал.
Да я с этого начал - да, для прозрачной трансляции в Выбор() - точно лишнее.
А спасет ли это kiruha - посмотрим.
Но факт в том, что чем дальше - тем труднее будет изменить спецификацию события из-за обратной совместимости.
Так что надеюсь на понимание.