Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ActionList в run-time [D6, Win2k]


avr555 ©   (2002-05-15 20:51:00) 

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


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

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


avr555   (2002-05-21 18:11:00) [2]

у меня такой код
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;


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


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

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


avr555   (2002-05-21 17:14:00) [4]

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

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


avr555   (2002-05-21 15:18:00) [5]

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

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


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

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

С уважением,


avr555   (2002-05-20 19:37:00) [7]

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


avr555   (2002-05-17 18:57:00) [8]

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


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

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


avr555   (2002-05-17 16:26:00) [10]

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


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

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

С уважением,


avr555   (2002-05-17 16:08:00) [12]

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

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

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


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

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо