Показать сообщение отдельно
  #1  
Старый 20.10.2013, 14:41
Аватар для Помидоркин
Помидоркин Помидоркин вне форума
Начинающий
 
Регистрация: 07.10.2012
Адрес: Дедовск
Сообщения: 110
Версия Delphi: Rio 10.3
Репутация: 10
По умолчанию KeyPress и клавиши со стрелками

Помогите кто может
Ситуация следующая: на форме ListBox и Edit, в онклик листбокса эдит получает фокус, в кейпресс эдита происходят манипуляции с листбоксом.
Все работает.
Код:
procedure TForm1.ListBox1Click(Sender: TObject);
...
Edit1.SetFocus;
...
end;
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 case Key of                     
  #13 :
  begin
      ...    //редакирование ListBox1.Items
  end;  

     .....

  '0'..'9', '-', '*', '?', #8: Key:= Key;
 else Key:=#0;
 end;
end;
Пытаюсь в кейпресс добавить
Код:
 #38 :  //стрелка вверх
  begin
   ListBox1.ItemIndex:= ListBox1.ItemIndex-1;
   ListBox1Click(Self);
  end;
Пробовал:
Код:
 'q' :  //просто, для примера
  begin
   ListBox1.ItemIndex:= ListBox1.ItemIndex-1;
   ListBox1Click(Self);
  end;
работает, но нужны клавиши со стрелками
Не помогли следующие варианты
Код:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Char);
begin
 case Key of                     
  VK_UP :
  begin
      ...    
Код:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
 case Key of                     
  #38 :
  begin
      ...    
то же с клавишами: #33 (PageUp), #121 (F10), на #116 (F5) вообще ругается [Error] ..... : Duplicate case label
то ли на
Код:
'T','t', 'Е', 'е':
  begin
  ....
то ли на
Код:
'F','f', 'А', 'а':
  begin
  ....
подскажите как перехватить нажатие на клавишу стрелка.
Ответить с цитированием