Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Переход стрелочками между окошками


Страницы:   1 2 3

Light-blr ©   (2010-05-07 01:59:00) 

Помогите, пожалуйста. На форме есть n окошек, расположенных одно под другим. Необходимо по стрелочке "вверх" переходить на окошко, расположенное выше текущего, ну и "вниз" соответственно.

Пытаюсь поймать сообщение, ничего у меня не выходит.
...
type
 TForm1 = class(TForm)
   Shape1: TShape;
   Edit1: TEdit;
   Shape2: TShape;
   Edit2: TEdit;
   procedure Edit1Enter(Sender: TObject);
   procedure Edit1Exit(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure FormShow(Sender: TObject);
   procedure WMKeyUp(var Msg:TWMKeyUp); message WM_KeyUp;
...
procedure TForm1.WMKeyUp(var Msg:TWMKeyUp);
begin
if Msg.CharCode = vk_Up then
 if Order[tp,3]<>0 then tp:=Order[tp,3];
Comp:=FindComponent(Names[tp]);
(Comp as TEdit).SetFocus;
inherited;
end;
в массиве Order у меня хранятся индексы названий окошек сверху/снизу/справа/слева от текущего.

Так вот в эту функцию я никак не попадаю, хотя там стоит точка останова. То есть ничего она не ловит и соответственно переход между окошками по стрелочкам не происходит.

Помогите, пожалуйста, разобраться с этой ситуацией.


Mike Kouzmine   (2010-05-07 07:53:00) [41]

используй стандартный механизм
либо сам управляй селектомнекст, либо заменяй ки ап даун на таб либо шифт таб


Leonid Troyanovsky   (2010-05-07 07:44:00) [42]


> Light-blr   (07.05.10 01:59)

> Помогите, пожалуйста. На форме есть n окошек,

Если "окошко" есть Edit (n=2), то для перемещений между ними,
как и другими винконтролами, предназначен Tab & Shift+Tab.

Обработчик же формы не срабатывает потому, что сообщение
обрабатывается контролом в фокусе.

Полезно также помнить сказанное by Peter Below:
http://groups.google.com/group/fido7.ru.delphi.chainik/msg/9882c0fd38c38706

--
Regards, LVT.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо