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

Вниз

ActionList в run-time   Найти похожие ветки 

 
avr555 ©   (2002-05-15 20:51) [0]

Как бы мне создать и воспользоваться ActionList"ом в run-time?


 
avr555 ©   (2002-05-17 14:33) [1]

Неужели никто не занимался подобным извращением?


 
Игорь Шевченко ©   (2002-05-17 14:34) [2]

Как любой другой компонент


 
avr555 ©   (2002-05-17 16:08) [3]

Попытаюсь описать проблему по-конкретнее:
У меня есть класс, наследник от TPanel, на котором расположено большое количесвто различных компонент. Я хочу в конструкторе прикрутить ActionList к этому классу. Как я понял, у TActionList нет свойства Parent.

И как мне со всем этим быть?

Заранее огромнейшая благодарность.


 
Игорь Шевченко ©   (2002-05-17 16:17) [4]

А зачем большому количеству компонент нужен ActionList ?
У ActionList, как у любого другого компонента есть свойство Owner, этого достаточно. Parent"а не надо, компонент невизуальный

С уважением,


 
avr555 ©   (2002-05-17 16:26) [5]

ActionList мне нужен для того, чтобы на всем компоненте работали некоторые комбинации клавиш.
МОжет это можно сделать как-нибудь по другому?


 
Игорь Шевченко ©   (2002-05-17 16:48) [6]

Создать TAction для каждой комбинации клавиш, к примеру. В ActionList их необязательно засовывать. Каждому компоненту назначить созданный Action.
Я не совсем понимаю, почему это в design-time нельзя сделать?


 
avr555 ©   (2002-05-17 18:57) [7]

Дело в том, что у меня отдельный компонент и мне нужно привязывать этот Action ко всем компонентам расположенных на нем. А они у меня могут появлятся и исчезать во время выполнения программы.



 
avr555 ©   (2002-05-20 19:37) [8]

Назначаю я компоненту Action, а он выполняется, когда кликаю на компоненте. А мне нужно только при нажатии клавиши.
Что мне с этим делать?


 
Игорь Шевченко ©   (2002-05-21 10:17) [9]

Я все-таки не совсем понимаю - если нужно, чтобы только от клавиш, то есть событие OnKeyDown - оно тоже может динамически присваиваться :-)
Может, поподробнее про проблему расскажете, а то я до конца не пойму, а давать советы на основе обрывочной информации, IMHO, дело не совсем правильное :-)

С уважением,


 
avr555 ©   (2002-05-21 15:18) [10]

Спасибо, я все понял.

Мне нужн огпросто научится правильно задавать вопросы. :)


 
avr555 ©   (2002-05-21 17:14) [11]

А как быть, если у компонента нет такого свойства (например у TPanel)?

В конечном итоге мне нужно получить нечто похожее на то, что происходит, когда на форму помещаем ActionList, создаем Action назначаем ShortCut и теперь в каком-бы компоненте на этой форме мы не находились - везде работает ShortCut?


 
Игорь Шевченко ©   (2002-05-21 17:17) [12]

Action просто можно создать


 
avr555 ©   (2002-05-21 18:11) [13]

у меня такой код
TMyControl = class(TPanel)
constructor Create(AOwner: TComponent); override;
private
FDelAct :TAction;
procedure DelActExecute(Sender:TObject);

...
end;
......
implementation

constructor TMyControl.Create(AOwner: TComponent);
begin
FDelAct := TAction.Create(self);
FDelAct.ShortCut := TextToShortCut("Del");
FDelAct.OnExecute := DelActExecute;
end;


procedure TMyControl.DelActExecute(Sender: TObject);
begin
MessageDlg("Del pressed", mtWarning, [mbOK], 0);
end;


Правильно я понял?
Или еще нужно что-то добавить?


 
avr555 ©   (2002-05-23 14:57) [14]

Правильно ли я все сделал?



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

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

Наверх




Память: 0.49 MB
Время: 0.011 c
14-7222
ZZ
2002-04-27 16:40
2002.06.03
Форматирование исходного кода. Чем пользоваться?


1-7098
Андр
2002-05-22 12:46
2002.06.03
Установка свойств в потомках класса


1-7027
Dizer
2002-05-21 13:08
2002.06.03
Про активные приложения


6-7143
daos
2002-03-23 09:45
2002.06.03
Ошибка в сокете.


14-7226
Agent Smith
2002-04-28 13:11
2002.06.03
ИИ