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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2015, 15:41   #1
CrystalDF
Пользователь
 
Регистрация: 12.02.2015
Сообщений: 21
По умолчанию Помогите пожалуйста с горячими клавишами.

Как сделать чтоб при нажатий CTRL + F выполнялась function ?
Спасибо за ранее.

Последний раз редактировалось CrystalDF; 16.02.2015 в 19:47.
CrystalDF вне форума Ответить с цитированием
Старый 16.02.2015, 16:10   #2
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

property не умеет выполняться, попробуйте еще раз объяснить
lomastr_ вне форума Ответить с цитированием
Старый 16.02.2015, 16:16   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А скорее всего требуется что-то типа: http://www.programmersforum.ru/showthread.php?t=8638
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.02.2015, 19:46   #4
CrystalDF
Пользователь
 
Регистрация: 12.02.2015
Сообщений: 21
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А скорее всего требуется что-то типа: http://www.programmersforum.ru/showthread.php?t=8638
Ммм, я то понял, но мне именно CTRL + F нужно, а не CTRL + F1-12.

Цитата:
Сообщение от lomastr_ Посмотреть сообщение
property не умеет выполняться, попробуйте еще раз объяснить
День трудный, голова кругом. Ошибся.
Function имею ввиду.

Последний раз редактировалось Stilet; 16.02.2015 в 19:49.
CrystalDF вне форума Ответить с цитированием
Старый 16.02.2015, 19:48   #5
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от CrystalDF Посмотреть сообщение
Ммм, я то понял, но мне именно CTRL + F нужно, а не CTRL + F1-12.
Iron Monk вне форума Ответить с цитированием
Старый 16.02.2015, 19:53   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я то понял, но мне именно CTRL + F нужно
Чисто так ради интереса: А ты вообще по ссылке ходил?
Ладно. Я понял. Не ходил и не пойдешь. А даже если пойдешь филькина грамота все это.
Код:
RegisterHotKey(Хендл, Айдишник, MOD_CONTROL, VK_F);
Более, извини, ничем помочь не могу, ибо сам не шарю ниче в программировани.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.02.2015, 19:57   #7
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Чисто так ради интереса: А ты вообще по ссылке ходил?
Ладно. Я понял. Не ходил и не пойдешь. А даже если пойдешь филькина грамота все это.
Код:
RegisterHotKey(Хендл, Айдишник, MOD_CONTROL, VK_F);
Более, извини, ничем помочь не могу, ибо сам не шарю ниче в программировани.
Опять рукалицо))) Вместо VK_F код букоффки "F" - 70("f"(102))
Iron Monk вне форума Ответить с цитированием
Старый 16.02.2015, 20:17   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Вместо VK_F код букоффки
Почему? Разве такой константы не существует?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.02.2015, 20:25   #9
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Почему? Разве такой константы не существует?
Виртуальные - только эти:
Цитата:
{ Virtual Keys, Standard Set }
VK_LBUTTON = 1;
VK_RBUTTON = 2;
VK_CANCEL = 3;
VK_MBUTTON = 4;
VK_BACK = 8;
VK_TAB = 9;
VK_CLEAR = 12;
VK_RETURN = 13;
VK_SHIFT = $10;
VK_CONTROL = 17;
VK_MENU = 18;
VK_PAUSE = 19;
VK_CAPITAL = 20;
VK_KANA = 21;
VK_HANGUL = 21;
VK_JUNJA = 23;
VK_FINAL = 24;
VK_HANJA = 25;
VK_KANJI = 25;
VK_CONVERT = 28;
VK_NONCONVERT = 29;
VK_ACCEPT = 30;
VK_MODECHANGE = 31;
VK_ESCAPE = 27;
VK_SPACE = $20;
VK_PRIOR = 33;
VK_NEXT = 34;
{$EXTERNALSYM VK_END}
VK_END = 35;
{$EXTERNALSYM VK_HOME}
VK_HOME = 36;
{$EXTERNALSYM VK_LEFT}
VK_LEFT = 37;
{$EXTERNALSYM VK_UP}
VK_UP = 38;
{$EXTERNALSYM VK_RIGHT}
VK_RIGHT = 39;
{$EXTERNALSYM VK_DOWN}
VK_DOWN = 40;
{$EXTERNALSYM VK_SELECT}
VK_SELECT = 41;
{$EXTERNALSYM VK_PRINT}
VK_PRINT = 42;
{$EXTERNALSYM VK_EXECUTE}
VK_EXECUTE = 43;
{$EXTERNALSYM VK_SNAPSHOT}
VK_SNAPSHOT = 44;
VK_INSERT = 45;
VK_DELETE = 46;
VK_HELP = 47;
VK_LWIN = 91;
VK_RWIN = 92;
VK_APPS = 93;
{$EXTERNALSYM VK_NUMPAD0}
VK_NUMPAD0 = 96;
{$EXTERNALSYM VK_NUMPAD1}
VK_NUMPAD1 = 97;
{$EXTERNALSYM VK_NUMPAD2}
VK_NUMPAD2 = 98;
{$EXTERNALSYM VK_NUMPAD3}
VK_NUMPAD3 = 99;
{$EXTERNALSYM VK_NUMPAD4}
VK_NUMPAD4 = 100;
{$EXTERNALSYM VK_NUMPAD5}
VK_NUMPAD5 = 101;
{$EXTERNALSYM VK_NUMPAD6}
VK_NUMPAD6 = 102;
{$EXTERNALSYM VK_NUMPAD7}
VK_NUMPAD7 = 103;
{$EXTERNALSYM VK_NUMPAD8}
VK_NUMPAD8 = 104;
{$EXTERNALSYM VK_NUMPAD9}
VK_NUMPAD9 = 105;
{$EXTERNALSYM VK_MULTIPLY}
VK_MULTIPLY = 106;
{$EXTERNALSYM VK_ADD}
VK_ADD = 107;
{$EXTERNALSYM VK_SEPARATOR}
VK_SEPARATOR = 108;
{$EXTERNALSYM VK_SUBTRACT}
VK_SUBTRACT = 109;
{$EXTERNALSYM VK_DECIMAL}
VK_DECIMAL = 110;
{$EXTERNALSYM VK_DIVIDE}
VK_DIVIDE = 111;
{$EXTERNALSYM VK_F1}
VK_F1 = 112;
{$EXTERNALSYM VK_F2}
VK_F2 = 113;
{$EXTERNALSYM VK_F3}
VK_F3 = 114;
{$EXTERNALSYM VK_F4}
VK_F4 = 115;
{$EXTERNALSYM VK_F5}
VK_F5 = 116;
{$EXTERNALSYM VK_F6}
VK_F6 = 117;
{$EXTERNALSYM VK_F7}
VK_F7 = 118;
{$EXTERNALSYM VK_F8}
VK_F8 = 119;
{$EXTERNALSYM VK_F9}
VK_F9 = 120;
{$EXTERNALSYM VK_F10}
VK_F10 = 121;
{$EXTERNALSYM VK_F11}
VK_F11 = 122;
{$EXTERNALSYM VK_F12}
VK_F12 = 123;
{$EXTERNALSYM VK_F13}
VK_F13 = 124;
{$EXTERNALSYM VK_F14}
VK_F14 = 125;
{$EXTERNALSYM VK_F15}
VK_F15 = 126;
{$EXTERNALSYM VK_F16}
VK_F16 = 127;
{$EXTERNALSYM VK_F17}
VK_F17 = 128;
{$EXTERNALSYM VK_F18}
VK_F18 = 129;
{$EXTERNALSYM VK_F19}
VK_F19 = 130;
{$EXTERNALSYM VK_F20}
VK_F20 = 131;
{$EXTERNALSYM VK_F21}
VK_F21 = 132;
{$EXTERNALSYM VK_F22}
VK_F22 = 133;
{$EXTERNALSYM VK_F23}
VK_F23 = 134;
{$EXTERNALSYM VK_F24}
VK_F24 = 135;
{$EXTERNALSYM VK_NUMLOCK}
VK_NUMLOCK = 144;
{$EXTERNALSYM VK_SCROLL}
VK_SCROLL = 145;
{ VK_L & VK_R - left and right Alt, Ctrl and Shift virtual keys.
Used only as parameters to GetAsyncKeyState() and GetKeyState().
No other API or message will distinguish left and right keys in this way. }
{$EXTERNALSYM VK_LSHIFT}
VK_LSHIFT = 160;
{$EXTERNALSYM VK_RSHIFT}
VK_RSHIFT = 161;
{$EXTERNALSYM VK_LCONTROL}
VK_LCONTROL = 162;
{$EXTERNALSYM VK_RCONTROL}
VK_RCONTROL = 163;
{$EXTERNALSYM VK_LMENU}
VK_LMENU = 164;
{$EXTERNALSYM VK_RMENU}
VK_RMENU = 165;
{$EXTERNALSYM VK_PROCESSKEY}
VK_PROCESSKEY = 229;
{$EXTERNALSYM VK_ATTN}
VK_ATTN = 246;
{$EXTERNALSYM VK_CRSEL}
VK_CRSEL = 247;
{$EXTERNALSYM VK_EXSEL}
VK_EXSEL = 248;
{$EXTERNALSYM VK_EREOF}
VK_EREOF = 249;
{$EXTERNALSYM VK_PLAY}
VK_PLAY = 250;
{$EXTERNALSYM VK_ZOOM}
VK_ZOOM = 251;
{$EXTERNALSYM VK_NONAME}
VK_NONAME = 252;
{$EXTERNALSYM VK_PA1}
VK_PA1 = 253;
{$EXTERNALSYM VK_OEM_CLEAR}
VK_OEM_CLEAR = 254;
Iron Monk вне форума Ответить с цитированием
Старый 16.02.2015, 20:46   #10
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

Все делается по простому, там ссылки тебе даже давали.
Не знаеш код клавиши, пиши ее через Ord
И еще я бы добавил в код что в тех ссылках- так это удаление зарегистрированной клавиши после окончания работы программы.
Код:
  public
    //процедура регистрации горячей клавиши
    procedure WMHotKey(var Msg: TMessage); message WM_HOTKEY;
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.WMHotKey(var Msg: TMessage);
begin
  //обработчик- пиши здесь свою процедуру
  if Msg.WParam = 1 then
    Label1.Caption := 'Нажат CTRL + F';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  //регистрируем
  RegisterHotkey(Handle, 1, MOD_CONTROL, Ord('F'));
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnregisterHotKey(Handle, 1); //удаляем
end;

end.
Изображения
Тип файла: jpg 1111.jpg (7.7 Кб, 67 просмотров)
NIKOLAYY2 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Радио через DLL горячими клавишами. santaXZ C# (си шарп) 9 11.07.2012 14:56
Копирование пути к объекту горячими клавишами dubailand Операционные системы общие вопросы 0 30.03.2012 19:21
Как развернуть приложение горячими клавишами cryker Общие вопросы Delphi 4 01.03.2012 18:29
Проблема с горячими клавишами Marsik Общие вопросы Delphi 10 26.02.2010 17:21
Проблема с горячими клавишами InsaniaF Microsoft Office Word 4 21.05.2009 11:37