Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2007, 20:32   #1
mishel
Пользователь
 
Регистрация: 24.01.2007
Сообщений: 15
Печаль Помогите с клавиатурой

Помогите, пожалуйста. Никогда не занимался вводом с клавиатуры, в том смысле, что не знаю какими командами руководить вводом. Хотел, чтобы по нажатию клавиши, к примеру "q" приложение закрывалось, как это сделать вообще не рублю.
mishel вне форума Ответить с цитированием
Старый 23.06.2007, 20:49   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key = 81 then form1.Close;
end;
вот еще http://www.programmersforum.ru/showthread.php?t=4535 посмотри
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 23.06.2007, 21:29   #3
mishel
Пользователь
 
Регистрация: 24.01.2007
Сообщений: 15
По умолчанию

Проверил, но пишет ошибку мол не объявленный индефикатор FormKeyDown([Error] Unit2.pas(41): Undeclared identifier: 'FormKeyDown')
Пытался объявить, но чето не идет
mishel вне форума Ответить с цитированием
Старый 23.06.2007, 21:40   #4
ЧИЖ
Форумчанин
 
Аватар для ЧИЖ
 
Регистрация: 24.02.2007
Сообщений: 104
По умолчанию

во первых formkeydown надо объявить следующим образом
в свойствах формы на закладке events кликни 2 раза по OnKeyDown
и я еще предлагаю по OnKeyUp
и приколи такой код
Код:
var
  Form1: TForm1;
  AltPress,CtrlPress,ShiftPress:boolean;
implementation
{$R *.dfm}
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
form1.Caption:='';
if AltPress then form1.Caption:=form1.Caption+'Alt + ';
if CtrlPress then form1.Caption:=form1.Caption+'Ctrl + ';
if ShiftPress then form1.Caption:=form1.Caption+'Shift + ';
case key of
18: AltPress:=true;
17: CtrlPress:=true;
16: ShiftPress:=true;
else form1.Caption:=form1.Caption+inttostr(key);
end;
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
case key of
18: AltPress:=false;
17: CtrlPress:=false;
16: ShiftPress:=false;
end;
form1.Caption:='';
if AltPress then form1.Caption:=form1.Caption+'Alt + ';
if CtrlPress then form1.Caption:=form1.Caption+'Ctrl + ';
if ShiftPress then form1.Caption:=form1.Caption+'Shift + ';
end;
end.
только вместо изменения Form1.caption вставь свой код который должен выпоняться,
а по этому коду можешь пока определить числовые значения кнопок
Разберемся.......
ЧИЖ вне форума Ответить с цитированием
Старый 23.06.2007, 23:08   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Вообще то для определения нажатий Shift, Ctrl, Alt и кнопок мыши процедура возвращает Shift: TShiftState

Цитата:
Сообщение от mishel Посмотреть сообщение
Проверил, но пишет ошибку мол не объявленный индефикатор FormKeyDown([Error] Unit2.pas(41): Undeclared identifier: 'FormKeyDown')
Пытался объявить, но чето не идет
FormKeyDown это событие формы, срабатывает при нажатии клавиши, FormKeyUp при отпускании, объявляется как и любое другое событие из вкладки Events, передает параметры Key - с кодом нажатой клавиши, Shift - нажатие Shift, Ctrl, Alt клавиш и мыши. Для более подробной информации поставь курсор в коде (в Дельфи) перед TShiftState и нажми F1
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа автомотического управления клавиатурой или мышкой someuser Помощь студентам 2 30.07.2008 22:58
Проблемы с клавиатурой!!! stalker-91 Компьютерное железо 19 29.07.2008 11:08
обновление в блоге - Управление клавиатурой Pblog Обсуждение статей 0 27.05.2007 03:17