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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2010, 13:24   #1
altcore
Пользователь
 
Регистрация: 31.03.2010
Сообщений: 38
По умолчанию В контрол "заносится" горячая клавиша

Есть форма, на которой курсор всегда установлен на каком-нибудь контроле типа TDBNumberEditEh. По горячей клавише NUM_ADD (+) вызывается формочка вставки нового документа. Но символ '+' успевает занестись в контрол. Пробовал все события на форме вроде OnKeyDown/Press/Up. Результат тот же. Как обойти?
altcore вне форума Ответить с цитированием
Старый 13.05.2010, 16:19   #2
altcore
Пользователь
 
Регистрация: 31.03.2010
Сообщений: 38
По умолчанию

вопрос решился отказом от стандартных обработчиков:

Код:
...
private
  procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
...
const
  MyHotKey = ord(VK_ADD);

procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
  MessageBeep(0);
end;

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

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnRegisterHotKey(Form1.Handle, MyHotKey);
end;
altcore вне форума Ответить с цитированием
Старый 17.05.2010, 11:30   #3
altcore
Пользователь
 
Регистрация: 31.03.2010
Сообщений: 38
По умолчанию

Но таким образом клавиша "+" не работает в других приложениях. Хотел выкрутиться повесив регистрацию/разрегистрацию на события onActivate/onDeactivate. Предполагалось, что при потере фокуса формой, клавиша будет нормально работать, но этого не произошло, что посоветуете?
altcore вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Клавиша "enter " для определенных ячеек karud Microsoft Office Excel 1 02.05.2010 11:19
Горячая клавиша выключение монитора Anonim69 Свободное общение 2 01.03.2010 11:33
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Как с помощье ReadKey определить что нажата клавиша "Стрелка" Викдон Паскаль, Turbo Pascal, PascalABC.NET 5 05.02.2009 00:47