Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
1 / 0 / 1
Регистрация: 21.01.2016
Сообщений: 7
1

Связать нажатие и отжатие клавиши клавиатуры и кнопки на форме

28.02.2016, 04:26. Показов 2436. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую!
Простейшая с виду задача.
Нужно сделать так, чтобы при нажатии на клавишу М, происходило визуальное нажатие кнопки на форме, (ну и выполнялось то же действие, что и при _нажатии_ кнопкой мыши на эти кнопку.
То же и для отжатия клавишу М - аналогично отжимаем на форме и что-то делаем...
(пока что действия разные - для отладки, но потом вставлю вызов функции...)

Вопрос - как лучше сделать? Сейчас всё работает кроме визуального нажатия Button1 при нажатии клавиши.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
bool keypress; //флаг для исключения повтора вызова при удержании клавиши
 
void __fastcall TForm1::Button1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
         Form1->Memo1->Lines->Add("mouse DOWN");
}
 
void __fastcall TForm1::Button1MouseUp(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
Memo1->Lines->Add("mouse UP");
}
 
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
if (Key == 'M' && !keypress) {Memo1->Lines->Add("key M down");
 keypress = true;
 }
}
 
void __fastcall TForm1::FormKeyUp(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
if (Key == 'M') {Memo1->Lines->Add("key M up");
 keypress = false;
 }
}
Миниатюры
Связать нажатие и отжатие клавиши клавиатуры и кнопки на форме  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.02.2016, 04:26
Ответы с готовыми решениями:

Как связать нажатие кнопки с полем гтперссылки на форме
есть маленький вопрос, на форме есть поле с гиперссылкой, гиперссылка работает открывается, но по...

Нажатие - отжатие кнопки. Псевдо-класс :active
Здравствуйте. Проблема в том, что при нажатии на кнопку определены стили для псевдо-класса :active,...

Обработать нажатие клавиши клавиатуры и кнопки мыши в документе Word
Доброго времени суток! У меня возник вопрос: как можно обработать нажатие клавиши клавиатуры и...

Событие нажатие кнопки клавиатуры при неактивной форме
Как обработать событие нажатие кнопки клавиатуры при неактивной форме?

1
1 / 0 / 1
Регистрация: 21.01.2016
Сообщений: 7
28.02.2016, 04:49  [ТС] 2
Если такой способ оптимальный, как сэмулировать нажатие и отжатие кнопки на форме?

Добавлено через 16 минут
разобрался.
в обработчиках нажатия клавиш пишем

C++
1
 SendMessage (Form1->Button1->Handle, WM_LBUTTONDOWN, 0, 0);
C++
1
 SendMessage (Form1->Button1->Handle, WM_LBUTTONUP, 0, 0);
0
28.02.2016, 04:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2016, 04:49
Помогаю со студенческими работами здесь

Эмулировать нажатие кнопки мыши или нажатие клавиши на Web - странице
Здравствуйте. Как на эмулировать переходы по страницам на сайте, открытом в Интернет эксплорере!....

Как связать нажатие клавиши на клавиатуре с JButton?
Добрый день, какой нужно использовать метод для "нажатия" кнопки в программе, после нажатия клавиши...

Горячие клавиши - обойти наведение фокуса и привязать клавиши клавиатуры к кнопкам на форме
всем доброго времени суток. столкнулся с такой проблемой. требуется чтобы при нажатии определенных...

Нажатие клавиши в форме
Как сделать отлов нажатия клавиши, вообще в программе, в целом? Так - не работает. private...

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

Событие на нажатие клавиши клавиатуры
для Label1 нажимаю клавишу с клавиатуры например a . И должен получить событие например ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru