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

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

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

Delphi.int.ru Expert

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

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

#   

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


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

Подробнее »



Вопрос # 4 801

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Подскажите, пожалуйста, в чем может быть проблема. У меня на форме есть Panel в которой размещены 3 CheckBox'а, так же на форме есть Button. Когда у меня CheckBox в фокусе, то нажимая клавишу Стрелка вниз происходит переход к следующему CheckBox'у и так по кругу. Мне нужно, чтобы при нажатии Стрелки вниз, когда в фокусе CheckBox3 происходил переход на кнопку Button1. Мой код, представленный ниже, почему то упорно это не хочет делать:

procedure TForm2.CheckBox3KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #40 then Form2.Button1.SetFocus;
end;

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

Вопрос задал: Михаил Лебедев (статус: Посетитель)
Вопрос отправлен: 9 декабря 2010, 00:21
Состояние вопроса: открыт, ответов: 0.


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

Всего сообщений: 7; последнее сообщение — 11 декабря 2010, 12:04; участников в обсуждении: 3.
min@y™

min@y™ (статус: Доктор наук), 9 декабря 2010, 08:21 [#1]:

Во-первых, для этих целей есть клавиша TAB.
Во-вторых, код #40 - это символ "(".
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Ерёмин А.А.

Ерёмин А.А. (статус: *Администратор), 9 декабря 2010, 10:33 [#2]:

И в-третьих, «стрелка вниз» символа не печатает, так что вряд ли OnKeyPress будет вызываться. Лучше в OnKeyDown.
Михаил Лебедев

Михаил Лебедев (статус: Посетитель), 9 декабря 2010, 10:45 [#3]:

Я прошу прощения, что ввел Вас в заблуждение, CheckBox'ы у меня расположены в GroupBox, а не прямо на панели. Когда я кнопку помещаю в GroupBox то все работает без кода. но когда кнопка находится на панели, а CheckBox'ы в GroupBox, вот тогда при нажатии Стрелки Вниз фокус на Кнопку не переходит.
min@y™

min@y™ (статус: Доктор наук), 9 декабря 2010, 11:14 [#4]:

Так и быть должно. Кнопки Left, Right, Up, Down переставляют фокус среди элементов, лежащих внутри одного контейнера. Проверил прямо сейчас (на всякий случай).
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Михаил Лебедев

Михаил Лебедев (статус: Посетитель), 9 декабря 2010, 22:00 [#5]:

а никак нельзя сделать, чтобы при нажатии на Down если CheckBox последний, то фокус переходил на кнопку, лежащей вне GroupBox, а просто на форме?
min@y™

min@y™ (статус: Доктор наук), 10 декабря 2010, 08:17 [#6]:

Цитата (Михаил Лебедев):

а никак нельзя сделать, чтобы при нажатии на Down если CheckBox последний, то фокус переходил на кнопку, лежащей вне GroupBox, а просто на форме?

Можно, но это противоречит концепции Windows GUI и будет вводить пользователя в заблуждение.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Михаил Лебедев

Михаил Лебедев (статус: Посетитель), 11 декабря 2010, 12:04 [#7]:

ок! Спасибо за объяснение.

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

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