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

Вниз

Как узнать, какой объект вызвал TAction?   Найти похожие ветки 

 
Aleksandr ©   (2003-08-29 15:22) [0]

В программе две разные кнопки имеют указатель на один TAction. Но в его Execute, срабатывающем на их нажатии, нужно знать, какая из кнопок его вызвала. У самого TAction есть свойство, которое указывает на вызвавший объект?


 
Skier ©   (2003-08-29 15:28) [1]


> У самого TAction есть свойство, которое указывает на вызвавший
> объект?

Нет.


 
don-do   (2003-08-29 15:34) [2]

обрати внимание на функции для owerride

function HandlesTarget(Target: TObject): Boolean; virtual;
procedure UpdateTarget(Target: TObject); virtual;
procedure ExecuteTarget(Target: TObject); virtual;

Target - это именно то что тебе нужно!


 
dez ©   (2003-08-29 15:51) [3]

Sender


 
Skier ©   (2003-08-29 15:53) [4]

>dez © (29.08.03 15:51)
Уверен ?


 
don-do   (2003-08-29 16:02) [5]

Sender - это и есть сам Action
А тебе придется создать свои классы , переопределить функции, добавив в них свои отравотчики.
например:
OnUpdateTarget(Sender:TAction;Target: TObject);
---
procedure UpdateTarget(Target: TObject); owerride;

procedure UpdateTarget(Target: TObject);
begin
If Assigned(FOnUpdateTarget) then FOnUpdateTarget(Self,Target);
inherited;
end;


 
dez ©   (2003-08-29 16:06) [6]

да. фигня. проверил:сендер - акшен.


 
Aleksandr ©   (2003-08-29 16:30) [7]

Да, Sender - всегда TAction. Всем спасибо, уже нашел, что указатель - ActionComponent. И никаких сложностей :)


 
don-do   (2003-08-29 16:48) [8]

Да, не уж-то Borland додумался в 7 версии?!



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
3-33451
Ден
2003-08-22 10:01
2003.09.11
Программное создание псевдонима SQL


4-33850
GuestTM
2003-07-09 05:31
2003.09.11
Непонятки с POSTMESSAGE


1-33609
unreger
2003-09-01 13:21
2003.09.11
Как создать таймер в рантайм?


1-33614
Rel_
2003-09-01 08:45
2003.09.11
Проблема с ф-ей SetLength


14-33811
Vlad Oshin
2003-08-25 13:23
2003.09.11
WinXPPro два вопроса.