![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Есть 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.