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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2010, 03:58   #1
Editor
Пользователь
 
Аватар для Editor
 
Регистрация: 19.04.2008
Сообщений: 52
По умолчанию Горячия клавиша

Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key = vk_f11 then
ShowMessage('нажат f11');
end;
Нужно что бы ShowMessage вылезал по нажатию f11 даже если приложение в свернутом виде при этом желательно что бы приложение не разворачивалось

Цитата:
Горячия клавиша
О великая и могучий русский языка...

Последний раз редактировалось mihali4; 29.01.2010 в 11:39.
Editor вне форума Ответить с цитированием
Старый 29.01.2010, 04:52   #2
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,480
По умолчанию

Держи, в следующий раз, сначала пользуйся поиском про форуму!

Код:
Это прописываем в private
   procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY;

...

   procedure TForm1.WMHotKey (var Msg : TWMHotKey);
   begin
      if Msg.HotKey = 122 then
        ShowMessage(' Нажата F11');   
   end; 

   procedure TForm1.FormCreate(Sender: TObject);
   begin
      RegisterHotKey(Handle,122,0,122);  
   end;

   procedure TForm1.FormDestroy(Sender: TObject);
   begin
      UnRegisterHotKey (Handle, 122);
   end;
uberchel вне форума Ответить с цитированием
Старый 29.01.2010, 05:33   #3
Editor
Пользователь
 
Аватар для Editor
 
Регистрация: 19.04.2008
Сообщений: 52
По умолчанию

Спасибо!А по какому принципу тут определяется какая клавиша?..
Ну если я например захочу изменить на f5...
Editor вне форума Ответить с цитированием
Старый 29.01.2010, 06:07   #4
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Не "по принципу" , а по таблице :
Код:
vk_LButton   = $01;
vk_RButton   = $02;
vk_Cancel    = $03;
vk_MButton   = $04;
vk_Back      = $08;
vk_Tab       = $09;
vk_Clear     = $0C;
vk_Return    = $0D;
vk_Shift     = $10;
vk_Control   = $11;
vk_Menu      = $12;
vk_Pause     = $13;
vk_Capital   = $14;
vk_Escape    = $1B;
vk_Space     = $20;
vk_Prior     = $21;
vk_Next      = $22;
vk_End       = $23;
vk_Home      = $24;
vk_Left      = $25;
vk_Up        = $26;
vk_Right     = $27;
vk_Down      = $28;
vk_Select    = $29;
vk_Print     = $2A;
vk_Execute   = $2B;
vk_SnapShot  = $2C;
vk_Insert    = $2D;
vk_Delete    = $2E;
vk_NumPad0   = $60;
vk_NumPad1   = $61;
vk_NumPad2   = $62;
vk_NumPad3   = $63;
vk_NumPad4   = $64;
vk_NumPad5   = $65;
vk_NumPad6   = $66;
vk_NumPad7   = $67;
vk_NumPad8   = $68;
vk_NumPad9   = $69;
vk_Multiply  = $6A;
vk_Add       = $6B;
vk_Separator = $6C;
vk_Subtract  = $6D;
vk_Decimal   = $6E;
vk_Divide    = $6F;
vk_F1        = $70;
vk_F2        = $71;
vk_F3        = $72;
vk_F4        = $73;
vk_F5        = $74;
vk_F6        = $75;
vk_F7        = $76;
vk_F8        = $77;
vk_F9        = $78;
vk_F10       = $79;
vk_F11       = $7A;// дес. 122
vk_F12       = $7B;
vk_NumLock   = $90;
vk_Scroll    = $91;
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 29.01.2010, 07:31   #5
Editor
Пользователь
 
Аватар для Editor
 
Регистрация: 19.04.2008
Сообщений: 52
По умолчанию

Цитата:
Сообщение от Kotofff Посмотреть сообщение
vk_F11 = $7A;// дес. 122[/CODE]
Каким образом вычислялось это 122?..

Последний раз редактировалось mihali4; 29.01.2010 в 11:37.
Editor вне форума Ответить с цитированием
Старый 29.01.2010, 08:16   #6
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Не понял !!! Что значит вычислялось ??!!
В таблице : vk_f11 - это зарезервированная константа ; $7A - шестнадцатеричное представление числа 122 ...
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 29.01.2010, 08:58   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Каким образом вычислялось это 122?
Забивалось стандартно. В твоем случае используя данное тебе моим коллегой:
Код:
Это прописываем в private
   procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY;

...

   procedure TForm1.WMHotKey (var Msg : TWMHotKey);
   begin
      if Msg.HotKey = VK_F11 then
        ShowMessage(' Нажата F11');   
   end; 

   procedure TForm1.FormCreate(Sender: TObject);
   begin
      RegisterHotKey(Handle,1,0,VK_F11);  
   end;

   procedure TForm1.FormDestroy(Sender: TObject);
   begin
      UnRegisterHotKey (Handle, 1);
   end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.01.2010, 11:02   #8
Editor
Пользователь
 
Аватар для Editor
 
Регистрация: 19.04.2008
Сообщений: 52
По умолчанию

чем это $7A декодировать в это 122??....
Editor вне форума Ответить с цитированием
Старый 29.01.2010, 11:03   #9
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Убрать "$"
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 29.01.2010, 11:12   #10
Editor
Пользователь
 
Аватар для Editor
 
Регистрация: 19.04.2008
Сообщений: 52
По умолчанию

ну чем шестнадцатеричное числа перевести в обычное?
Editor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Клавиша мыши -=Virus=- Общие вопросы Delphi 5 24.11.2009 00:21
RxRichEdit и клавиша Delete -=Jack=- Компоненты Delphi 4 03.04.2009 12:24
Нажата ли клавиша... Xcopy Паскаль, Turbo Pascal, PascalABC.NET 14 26.03.2009 11:14
клавиша delete andrey4623 Общие вопросы Delphi 6 17.01.2008 18:16
как отследить нажатие клавиши Delete D-fens Общие вопросы Delphi 4 07.06.2007 23:58