Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 768

Раздел: Delphi » Прочее
/ вопрос открыт /

Здравствуйте, эксперты!
Извините за наивный вопрос, но не могу написать обработчик событий именно для курсоров перемещения (с клавиатуры не от мыши). Например передача фокуса от Edit1 к Edit2. За ранее благодарен.

Faer Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Faer (статус: Посетитель)
Вопрос отправлен: 14 февраля 2010, 12:15
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 3 марта 2010, 22:03; участников в обсуждении: 4.
Amidamaru

Amidamaru (статус: 4-ый класс), 14 февраля 2010, 12:25 [#1]:

OnEnter и OnExit не достаточно?
Приглашаю Вас на наш IRC-канал: #delphiintru в сети DalNet.
Faer

Faer (статус: Посетитель), 14 февраля 2010, 14:17 [#2]:

Ню с этим проблем ни каких Cancel - True и фсе ок. А курсоров перемещения ни где даже близко не вижу и с какой стороны подойти даж незнаю.
Alexey6522

Alexey6522 (статус: 1-ый класс), 15 февраля 2010, 12:16 [#3]:

Используйте клавишу Tab :) а за порядок переключения фокуса, имеется ввиду какой компонент будет следующий отвечает свойство TabOrder в ObjectInspector. Другой дело, если вы хотите что бы по нажатию клавиши Enter фокус сам менялся на нужный компонент, для этого можно использовать
if getasynckeystate(13)<>0 then {Если нажат Enter}
  Perform(WM_NEXTDLGCTL, 0, 0); {Передает фокус следующему, в том порядке который задает свойство TabOrder}
Да и на форму поместить нужно Timer, задать ему интервал как мин 100 и макс. 200. а этот код поместить в него
Егор

Егор (статус: 10-ый класс), 3 марта 2010, 22:03 [#4]:

зачем таймер?
в обработчике нажатия первого едита прописываем:
...
begin
  if Key=#13 then edit2.setFocus;
end;
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:48
Выполнено за 0.03 сек.