C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 Здравствуйте, гость ( Вход | Регистрация )   Скачать форум | Поиск по Форуму | Участники | Помощь
 Поиск по:   сайтy   
   архиву форума   
  ОтветитьНовая темаНовый опрос
Кнопки на форме и их аналоги на клавиатуре
« предыдущая тема | следующая тема » Подписаться на тему | Отправить тему на E-mail | Распечатать тему
Parasit
  Отправлено: 09.03.2007, 22:18 Цитировать


Дежурный стрелочник


Группа: Участник
Сообщений: 68
Пользователь № 3850
Регистрация: 22.01.07



Приведите пожалуйста пример сопоставления кнопки на форме программы и кнопки (при нажатии которой будет выполняться теже фу-и) на клавиатуре



Заранее Всем Спасибо
 
Послать сообщение E-mail адрес  Top
aquanet sk
Отправлено: 10.03.2007, 02:17 Цитировать


Станционный диспетчер


Группа: Участник
Сообщений: 87
Пользователь № 3668
Регистрация: 13.01.07



Вход: Form1, Button1

Для неактивного приложения горячие клавиши:

В заголовочном файле .h ( его можно вызвать по Ctrl+F6 для C++Builder6) прописываем строки (указаны жирным шрифтом):
...
private:
void __fastcall TForm1::WMHotKey(TWMHotKey &);
public:
__fastcall TForm1(TComponent* Owner);

BEGIN_MESSAGE_MAP

MESSAGE_HANDLER(WM_HOTKEY,TWMHotKey,WMHotKey);

END_MESSAGE_MAP(TComponent);

...

В тексте программы (.cpp файл) пишем:
...
void __fastcall TForm1::FormCreate(TObject *Sender)
{

// Регистрируем комбинацию горячей клавиши, для примера Ctrl+R
RegisterHotKey(Handle,2577,MOD_CONTROL, int('R')); //2577 - любая цифра в заданном диапазоне
}
...

//эту функцию прописываем вручную
void __fastcall TForm1::WMHotKey(TWMHotKey &identificator)
{

if (identificator.HotKey== 2577)
{
Form1->Button1Click(Form1); //програмно нажимаем кнопку Button1, соответственно выполняются все операторы и функции, прописанные в обработчике события OnClick кнопки Button1
}

}


Для активного окна приложения:

v1. Есть специальный компонент HotKey, и возможно не только он...
v2. Можно в инспекторе объектов на вкладке Events у события OnKeyDown формы Form1 и всех других компонентов (которые могут получать фокус) указать событие Button1Click.
 
Послать сообщение E-mail адрес  Top
Parasit
Отправлено: 10.03.2007, 23:10 Цитировать


Дежурный стрелочник


Группа: Участник
Сообщений: 68
Пользователь № 3850
Регистрация: 22.01.07



Спасибо ща пробовать буду
 
Послать сообщение E-mail адрес  Top
2 ответов с: 09.03.2007, 22:18 Подписаться на тему | Отправить тему на E-mail | Распечатать тему

Back to Вопросы программирования в C++Builder
ОтветитьНовая темаНовый опрос