![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как из TAction.Execute узнать, на какой форме кликнули меню
umbra © (2008-04-21 12:56:00)В приложении есть главная форма и датамодуль. В результате действий пользователя может быть создана еще одна (или не одна) немодальная форма. На главной форме и на каждой из вторичных есть
TActionMainMenuBand. Они все цепляются кTActionManagerв модуле данных и пункты меню совпадают. Собственно вопрос: как при клике на пункт меню узнать, в какой форме это произошло - в главной или вторичной?
umbra (2008-04-21 13:52:00) [1]
> Screen.ActiveForm
и правда. Нормальные герои всегда идут в обход :)
Ins (2008-04-21 13:32:00) [2]
> Тут, имхо можно, использовать, напрмер, посетителя.
Мдя :))) ИМХО, тут нужно заглянуть в справку по классу TAction ;)
Игорь Шевченко (2008-04-21 13:32:00) [3]
> как при клике на пункт меню узнать, в какой форме это произошло
> - в главной или вторичной?
Screen.ActiveForm ?
umbra (2008-04-21 13:30:00) [4]
> Покажи (код) как ты подцепляешься…
>
Да какой тут код? все сделано в редактореTActionManager'а
Kolan (2008-04-21 13:25:00) [5]> Меню в главной и вспомогательных формах совпадают, потому
> как действия там предполагаются одни и теже. Главная фома
> это список доступных форм отчетов по датам, вспомогательные
> отображение конкретного отчета.
То есть я вижу гл окно и второе. У них одинаковые меню. И я могу кликнуть что в гл. форме что во второй каккой-нибудь пункт и будет вызван один и тот же экшен, так?
Тут, имхо можно, использовать, напрмер, посетителя.
Покажи (код) как ты подцепляешься
Ins (2008-04-21 13:22:00) [6]
> поскольку Sender - это TAction
Правильно, а у класса TAction есть свойство - ActionComponent, это будет пункт меню.
umbra (2008-04-21 13:14:00) [7]
> Sender.Owner
Это будет класс датамодуля, посколькуSender- этоTAction
> Они все цепляются к TActionManager в модуле данных и пункты
> меню совпадают.
> Можно подробнее…
>
Меню в главной и вспомогательных формах совпадают, потому как действия там предполагаются одни и теже. Главная фома - это список доступных форм отчетов по датам, вспомогательные - отображение конкретного отчета.
Kolan (2008-04-21 12:58:00) [8]Возможно по Sender.Owner если понял описание.
Но что-то тут не так.
Вот это: Они все цепляются к TActionManager в модуле данных и пункты меню совпадают.
Можно подробнее