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

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

Есть TAction и он назначен кнопке в тулбаре и пункту меню,


EgorovAlex ©   (2008-06-05 09:50:00) 

как определить в его обработчике откуда этот Action вызван, из тулбара или из меню?


Vlad Oshin   (2008-06-05 16:25:00) [1]

может понадобится посмотреть частоту вызываний и снести элемент интерфейса, если интерфейс перегружен


Vlad Oshin   (2008-06-05 16:25:00) [2]

может понадобится посмотреть частоту вызываний и снести элемент интерфейса, если интерфейс перегружен


Vlad Oshin   (2008-06-05 16:25:00) [3]

может понадобится посмотреть частоту вызываний и снести элемент интерфейса, если интерфейс перегружен


Anatoly Podgoretsky   (2008-06-05 15:35:00) [4]

> MsGuns  (05.06.2008 15:11:08)  [8]

Вот это и есть использование не по назначению.
Тогда тут не TAction нужет, а определение индивидуального обработчика.


MsGuns   (2008-06-05 15:11:00) [5]

>как определить в его обработчике откуда этот Action вызван, из тулбара или из меню?

А какая разница ?


Anatoly Podgoretsky   (2008-06-05 11:42:00) [6]

> EgorovAlex  (05.06.2008 11:32:06)  [6]

Его задача исполнить (Action) без разница как вызван.


EgorovAlex   (2008-06-05 11:32:00) [7]

to ЮЮ

О, спасибо, PS я и не рассмотрел :)

to Anatoly Podgoretsky

не понял, как не по назначению?


ЮЮ   (2008-06-05 10:38:00) [8]

> Жаль, спасибо

Чего жаль?

if (Sender <> nil) and Sender.InheritsFrom(TAction) then
 TAction(Sender). ActionComponent


Anatoly Podgoretsky   (2008-06-05 10:26:00) [9]

А нафига, ты же компонент не по назначению используешь.


EgorovAlex   (2008-06-05 10:11:00) [10]

Жаль, спасибо

to ЮЮ
А я всегда делаю такой вызов, чтобы отпределить программный это вызов или из интерфейса программы:

SomeAction.OnExecute(nil);


Thrasher   (2008-06-05 10:03:00) [11]

Никак штатными методами.


ЮЮ   (2008-06-05 10:02:00) [12]

А разве он не должен действовать одинаково?
А если где угодно захочется написать
  SameAction.Execute;
?

P.S.
ActionComponent property (TBasicAction)
Indicates the client component that caused this action to execute.


Наверх

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