Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
74 / 25 / 22
Регистрация: 22.06.2013
Сообщений: 127
1

Как отловить нажатие правой клавиши мыши в новом компоненте?

27.06.2013, 18:57. Показов 1343. Ответов 4
Метки нет (Все метки)

Помогите с проблемой.
Создаю новый компонент на основе TImage. Хочу отловить на нем нажатие правой клавиши.
Пихаю прототип в protected:

C++
1
DYNAMIC void __fastcall KeyPress(char &Key);
Определение функции в .cpp:

C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TImageBox :: KeyPress(char &Key)
{
   ShowMessage("key down");
   if (Key == VK_RWIN)
   {
         //Важный код
   }
    
    //TControl->KeyPress (Key) ;
}
Итак, при нажатии правой клавиши мыши на компоненте НИЧЕГО НЕ ПРОИСХОДИТ. Даже сообщение "key down" не появляется.
Вроде делаю все как в книжке Архангельского. Что не так?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.06.2013, 18:57
Ответы с готовыми решениями:

Отловить нажатие левой клавиши мыши вне своего приложения
Привет всем, в общем наткнулся на такую проблему, нужно отловить нажатие ЛКМ, если оно произошло ...

Как отловить нажатие клавиши?
Нужно отлавливать нажатие любой клавиши (если не отлавливаются три-четыре клавиши типа TAB - ничего...

Как отловить нажатие клавиши?
Доброго времени и суток ! Я хочу узнать : Есть ли какое подобие в питоне для определения нажатия...

Как отловить нажатие клавиши
Мне нужно, чтобы при нажатии клавиши вверх что-то происходило. Напишите лучше эту задачу, потом...

4
Практикантроп
4695 / 2609 / 503
Регистрация: 23.09.2011
Сообщений: 5,621
27.06.2013, 19:14 2
У компонента TImage уже заложено событие OnContextPopup, которое как раз и отвечает за ту самую правую кнопку мыши.
0
74 / 25 / 22
Регистрация: 22.06.2013
Сообщений: 127
27.06.2013, 19:23  [ТС] 3
До этого пробовал с OnContextPopup тоже самое.

C++
1
2
3
4
5
6
DYNAMIC void __fastcall ContextPopup();
 
void __fastcall TImageBox :: ContextPopup()
{
     //КОД
}
нихочет вызывацо функция.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31243 / 20423 / 7960
Регистрация: 22.10.2011
Сообщений: 35,452
Записей в блоге: 6
27.06.2013, 20:06 4
@plapteshk, перегружай метод DoContextPopup
1
74 / 25 / 22
Регистрация: 22.06.2013
Сообщений: 127
27.06.2013, 20:19  [ТС] 5
УРААА! ЗАРАБОТАЛО.
Финальный код:
C++
1
2
3
4
5
DYNAMIC void __fastcall DoContextPopup(const TPoint &, bool &);
 
void __fastcall TImageBox :: DoContextPopup(const TPoint &x, bool &y)
{
}
Респектище UI.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.06.2013, 20:19

Как отследить нажатие правой кнопки мыши?
Здраствуйте, нужно сделать макрос для одной игры. Если человек нажал правую кнопку мыши(ну и...

Как определить в макросе в Excel нажатие правой клавиши мышки
Как определить в макросе в Excel нажатие правой клавиши мышки?

Отловить нажатие клавиши tab и выполнить программное нажатие enter
Подскажите пожл как осуществить подобное действие, в принципе нажатие на клавишу enter я итак знаю...

Как в консольном приложении отловить нажатие определённой клавиши?
Как в консольном приложении отловить нажатие определённой клавиши?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.