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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2011, 23:54   #1
DenZ
Новичок
Джуниор
 
Регистрация: 16.06.2011
Сообщений: 3
По умолчанию 1 кнопка в место горячих клавиш

Всем привет. Подскажите пожалуйста, мне надо что бы нажатие на кнопку bitbtn на форме, заменяло нажатие на клавиатуре две клавиши, Ctrl + F. Заранее спасибо.
DenZ вне форума Ответить с цитированием
Старый 17.06.2011, 00:36   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
begin
 keybd_event(vk_ctrl, 0, 0, 0);
 keybd_event(Ord('F'), 0, 0, 0);
 keybd_event(vk_ctrL, 0, KEYEVENTF_KEYUP, 0);
 keybd_event(ord('F'), 0, KEYEVENTF_KEYUP, 0);
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 17.06.2011, 07:58   #3
DenZ
Новичок
Джуниор
 
Регистрация: 16.06.2011
Сообщений: 3
По умолчанию

Код компилируется, но почему то не работает. Когда просто воткнул код в кнопку. Вышла ошибка [Error] Unit2.pas(300): Undeclared identifier: 'vk_ctrl'. Я тогда ее VAR описал как integer. ТОгда прога нормально запустилась. Но при нажатии кнопки ничего не происходит. Может я что то не так сделал?
DenZ вне форума Ответить с цитированием
Старый 17.06.2011, 08:26   #4
Silver_S
Форумчанин
 
Регистрация: 14.03.2011
Сообщений: 104
По умолчанию

Исправьте vk_ctrL на VK_CONTROL. Эта константа описана в Windows.pas
Silver_S вне форума Ответить с цитированием
Старый 17.06.2011, 08:36   #5
DenZ
Новичок
Джуниор
 
Регистрация: 16.06.2011
Сообщений: 3
По умолчанию

НЕа, всё равно. Ничего не происходит. Это у меня поиск веббраузоровский должен вызываться. Когда нажимаю на кнопку с этим кодом, то ничего не происходит, но если после этого сразу попробовать самому на клавиатура нажать ctrl+f то поиск тож не появится. Надо сначала мышкой куда нить в пустое место тыкнуть, а потом жать ctrl+f, тогда поиск появляется.
DenZ вне форума Ответить с цитированием
Старый 17.06.2011, 08:46   #6
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Системная горячая клавиша:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    id1:integer;
    procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
      id1 := GlobalAddAtom('Hotkey1');
      RegisterHotKey(Handle, id1, 2, ord('F'));
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
     UnRegisterHotKey(Handle, id1);
end;

procedure TForm1.WMHotKey(var Msg: TWMHotKey); 
begin
     if Msg.HotKey = id1 then
    ShowMessage('Ctrl + F was pressed !');
end;

end.
Взял отсюда.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
регистрация горячих клавиш. phphel Общие вопросы Delphi 29 26.03.2011 19:44
установка собственных горячих клавиш в windows sum42 Помощь студентам 4 22.09.2009 21:58
Вопрос по использованию горячих клавиш и Enter в Delphi Evgenii Общие вопросы Delphi 3 16.06.2009 22:31
Отлов горячих клавиш, Builder C++ 6.0 MsF C++ Builder 2 24.02.2009 11:02
Срочно требуется помощь с привязкой горячих клавиш..... Jinxers Операционные системы общие вопросы 4 08.02.2009 20:09