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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2008, 18:59   #1
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,239
Восклицание Потомок от HotKey

Хочется вставить новые свойства в компонет, для извлечения кода клавиш. Которые годны для регистрации в системе. Пока-что неполучается увязать событие изменение кода клавишь в новом компоненте с OnChange. Новый компонент должен при изменении кодов клавишь, заносить их в свойства (KeyFsModifiers и KeyVirtKey)
Прилагаю свой набросок, помогите доделать
Вложения
Тип файла: rar RegHotKey.rar (741 байт, 14 просмотров)
Alter вне форума Ответить с цитированием
Старый 02.01.2008, 19:43   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

В данном варианте кода строки
Код:
FOnChng :TNotifyEvent;
и
Код:
property OnChange: TNotifyEvent read FOnChng write FOnChng;
не нужны, ведь в конструкторе сразу идет присвоение OnChange := GetKey; т.е. не предполагается изменение OnChange в дальнейшем (например, в Инспекторе объектов).
Если нужно спрятать OnChange, то достаточно просто переобъявить его в секции protected.
Jeni вне форума Ответить с цитированием
Старый 02.01.2008, 22:22   #3
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,239
Сообщение

Вот удалил то что посоветовали, и переделал в функции "FMod" и "FVK". Проверено работает правильно, но как бы в потомке записать реакцию на изменение значения (реакция на Change).
Типа такого, но в потомке. При этом "Change" должно быть доступно в режиме конструирования формы.
Код:
procedure TForm1.HotKey1Change(Sender: TObject);
begin

end;
Вложения
Тип файла: rar Спец HotKey_100%.rar (619 байт, 20 просмотров)
Alter вне форума Ответить с цитированием
Старый 03.01.2008, 01:23   #4
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Я просмотрел код THotKey и кое-что нашел. Возможно, самый правильный вариант - это переопределить в секции protected обработчик сообщений CNCommand, т.к. именно он вызывается при изменении, а уже внутри этой процедуры вызывается OnChange (если есть).
Примерный код:
Код:
  protected
    procedure CNCommand(var Message: TWMCommand); message CN_COMMAND;
Код:
procedure TRegHotKey.CNCommand(var Message: TWMCommand);
begin
  // Твой код до вызова OnChange
  inherited;
  // Твой код после вызова OnChange
end;
P.S. Честно говоря, не совсем понял, что требуется сделать.
Jeni вне форума Ответить с цитированием
Старый 03.01.2008, 15:47   #5
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,239
По умолчанию

То что надо, я хотел отлавливать изменение в компоненте(Комбинации клавиш для Hotkey. A для едита будет считаться изменение текста.).
Alter вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как использовать компонент HotKey ? Alter Общие вопросы Delphi 14 07.04.2012 23:52
HotKey Simply-Art Win Api 16 15.08.2008 12:10
KOL HotKey Simply-Art Помощь студентам 6 13.08.2008 11:01
Кнопка, потомок от TImage Alter Компоненты Delphi 6 13.01.2008 12:57
как зарегестрировать горячую клавишу с помощью HotKey GAGARIN-NEW Компоненты Delphi 3 09.11.2007 08:22