Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.03;
Скачать: CL | DM;

Вниз

Почему не обрабатываются Shortcut динамических Action?   Найти похожие ветки 

 
Aleksandr ©   (2003-06-20 12:54) [0]

Использую Action Manager. Несколько экшнов у меня грузятся из таблицы, им присваиваются общий OnUpdate, OnExecute, и каждому свои ShortCutы оттуда же. При работе программы все эти объекты в меню отображаются, и напротив них, как и положено, указываются сочетания клавиш. Но вот когда нажимаешь эти сочетания, ничего не происходит. Проверки ради я попытался обработать ActionManager.OnExecute, Application.OnActionExecute и, в конце концов - OnKeyDown главной формы! - и нигде события не происходит! Мало того, главная форма (при включенном KeyPreview), вообще никакие клавиши не ловит. Почему такое может быть и как корректно добавить ShortCuts?

Код добавления:
A:=TAction.Create(nil);
A.Category:=h_Forums;
A.Caption:=T.FieldByName("Name").AsString;
A.Tag:=T.FieldByName("ID").AsInteger;
A.OnUpdate:=ForumActionUpdate;
A.OnExecute:=ForumActionExecute;
C:=ActionManager.AddAction(A,MenuBar.ActionClient.Items[4].Items[0],false);
C.Tag:=A.Tag;
A.ShortCut:=TextToShortCut(T.FieldByName("ShortCut").AsString);


Или, может, так не добавишь, и надо хорошо обработать Application.OnShortCut? Только я там так и не понял, как из этого TWMKey выловить, что была нажата Ctrl и исчто клавиша... В смысле, с клавишей понятно - Chr(TWMKey.Charcode), а вот с Ctrl...


 
Aleksandr ©   (2003-06-20 16:18) [1]

Млин, неужели у меня руки такие кривые, что никто с этим и не сталкивался? :(



Страницы: 1 вся ветка

Текущий архив: 2003.07.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
14-7651
Дмитрий Белькевич
2003-06-15 21:17
2003.07.03
MPL 1.1 - шо за зверь?


7-7740
dolmat
2003-04-18 15:11
2003.07.03
как получить список всех запущенных приложений?


4-7758
Dmk
2003-05-02 18:09
2003.07.03
hInstance


14-7592
Всеволод Соловьёв
2003-06-12 22:11
2003.07.03
Так в чём же всё таки писать 3D-игры ?


1-7501
фтщв
2003-06-20 23:34
2003.07.03
Двусторонняя печать