Главная
Регистрация
Вход
Авторизироваться
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Модератор форума: programmer  
Форум » Прочее » Паскаль программирование » Обсуждение Delphi (переименовано)
Обсуждение Delphi (переименовано)
DelphierДата: Воскресенье, 10.05.2009, 15:34 | Сообщение # 31
Новичок
Группа: Проверенные
Сообщений: 13
Награды: 2
Репутация: « 5 »
Статус: Offline
У формы есть событие OnKeyDown. Оно срабатывает всегда, когда нажимаешь на клавиши. В том числе и при нажатии на esc и f1 итд
 
programmerДата: Воскресенье, 10.05.2009, 15:42 | Сообщение # 32
Умный
Группа: Проверенные
Сообщений: 599
Награды: 3
Репутация: « 111 »
Статус: Offline
и как его обрабатывть чтобы получить нажатую клавишу?
 
DelphierДата: Воскресенье, 10.05.2009, 21:44 | Сообщение # 33
Новичок
Группа: Проверенные
Сообщений: 13
Награды: 2
Репутация: « 5 »
Статус: Offline
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=27 then close;
end;

27 это код ESC

Есть константы для всех клавиш, чтобы вместо кода писать.

 
programmerДата: Воскресенье, 10.05.2009, 22:03 | Сообщение # 34
Умный
Группа: Проверенные
Сообщений: 599
Награды: 3
Репутация: « 111 »
Статус: Offline
а это типа как в паскале реадкей?
 
DelphierДата: Воскресенье, 10.05.2009, 22:06 | Сообщение # 35
Новичок
Группа: Проверенные
Сообщений: 13
Награды: 2
Репутация: « 5 »
Статус: Offline
Ну да.. типа того smile тока в дельфи нету реадкей. Здесь в переменной var Key: Word; сразу код клавиши записан

Сообщение отредактировал Delphier - Воскресенье, 10.05.2009, 22:10
 
programmerДата: Воскресенье, 10.05.2009, 22:09 | Сообщение # 36
Умный
Группа: Проверенные
Сообщений: 599
Награды: 3
Репутация: « 111 »
Статус: Offline
ну я имел ввиду типа. а где таблицу кодов взять.
 
DelphierДата: Воскресенье, 10.05.2009, 22:18 | Сообщение # 37
Новичок
Группа: Проверенные
Сообщений: 13
Награды: 2
Репутация: « 5 »
Статус: Offline
Я если не знаю кода какой нибудь клавиши пользуюсь маленькой прогой типа

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
form1.caption:=IntToStr(key);
end;

И когда нажимаешь какую нибудь клавишу у тебя в заголовке формы выводится её код..
Удобнее еще пользоваться константами:

VK_RETURN - энтер
VK_SHIFT
VK_CONTROL -ctrl
VK_ESCAPE -esc
VK_SPACE
VK_TAB
VK_BACK - backspace
VK_END
VK_HOME

VK_LEFT - стрелки
VK_UP
VK_RIGHT
VK_DOWN

VK_INSERT
VK_DELETE

VK_0 .. VK_9
VK_A .. VK_Z
VK_F1.. VK_F12

И таблица не нужна...

 
programmerДата: Воскресенье, 10.05.2009, 22:50 | Сообщение # 38
Умный
Группа: Проверенные
Сообщений: 599
Награды: 3
Репутация: « 111 »
Статус: Offline
все понял.
я пробую сделать прогу чтобы мышью управлять с клавы. так удобно даже. удобно в лабеле обновлять сообщения типа нажмите кнопку для левого клика, для правого
 
Форум » Прочее » Паскаль программирование » Обсуждение Delphi (переименовано)
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск: