Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

Ответ
 
Опции темы
Старый 15.04.2018, 01:52   #1
Максим_maks
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 47
Репутация: 10
По умолчанию Отловить нажатие клавиши с проверкой

Всем привет. Столкнулся с проблемой: не могу отловить и правильно проверить нажатую клавишу.

Есть CheckBox1 и ComboBox1 и необходимо отловить нажатие кнопки и сделать действия, но выдает ошибку:

Проверяю так:
Код:

  if RadioButton1.Checked=True and RadioButton7.Checked=True and ComboBox1.text='F5' and Form1.UTF8KeyPress(VK_F5) then
    begin  
     StatusBar1.Panels[0].Text :=('Нажать F5');
       ....... // остальной код

     end;

Выдает ошибку: unit1.pas(322,114) Error: Call by var for arg no. 1 has to match exactly: Got "ShortInt" expected "TUTF8Char"
Максим_maks вне форума   Ответить с цитированием
Старый 15.04.2018, 02:06   #2
Максим_maks
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 47
Репутация: 10
По умолчанию

Даже такой код не канает (((

Код:

(RadioButton1.Checked and RadioButton7.Checked) and KeyInput.Down(VK_F10)  then

Ошибка
unit1.pas(322,54) Error: Operator is not overloaded: "Boolean" and "untyped"
Максим_maks вне форума   Ответить с цитированием
Старый 15.04.2018, 02:16   #3
Максим_maks
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 47
Репутация: 10
По умолчанию

Нашел решение, помогите если не сложно дописать обработчик:
Неоюходимо при выборе нужного чекбокса ожидать нажатия клавиши из группы F1 или F2 и т.д.

Что сделал, в главную форму добавил
Код:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1.KeyPreview:=True;  
end;

В form1.KeyDown

Код:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState
  );
begin    

if Key = VK_F10 then begin 
... /код
end;

По кнопке должно проверяться условие: если чекбокс =true, тогда ожидаем нажатие клавиши и если клавиша нажата выполняем условие. СПАСИБО
Максим_maks вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отловить нажатие клавиши volverine Общие вопросы Delphi 5 02.07.2013 01:58
отловить нажатие клавиши ctrl kaljan775 Общие вопросы C/C++ 4 31.10.2011 23:39
отловить нажатие клавиши ctrl kaljan775 Помощь студентам 0 30.10.2011 17:20
Долгое нажатие клавиши в KeyDown как одно нажатие marina15056 Общие вопросы Delphi 7 16.08.2009 00:22
отловить нажатие клавиши в ячейке (до нажатия enter) loginrl103 Microsoft Office Excel 3 07.08.2009 15:10


20:30.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru