Actions

6 отговора 136 прегледа
#1

Actions

Значи имам два SpeedButton-a и двата са вързани към един същ Action как мога да разбера от кой бутон е извикан Action-a.
AquilaX

____________
умният знае кога да говори, мъдрият знае кога да мълчи
Отговор
в отговор на AquilaX #2

Re: Actions

Не можеш (поне по стандартен начин). Един и същ Action за двата бутона означава, че и двата бутона трябва да имат една и съща реакция (едно и също поведение). А щом искаш да разбереш кой бутон е предизвикал Action-а, значи нямат едно поведение и следователно ти трябват различни Action-и.

Отговор
в отговор на Mandor #3

Re: Actions

мдамм и аз от това се опасявах
благодаря все пак

AquilaX

____________
умният знае кога да говори, мъдрият знае кога да мълчи
Отговор
в отговор на AquilaX #4

Re: Actions

Abe ne sam siguren ama mai mozesh kato prosto napishesh v Action event handlera
If Sender = Button1 then // ot tuka natatak znaesh che e buton 1

Отговор
в отговор на Doychin #5

Re: Actions

ами пробвах но ми връща Action1 като Sender (ако се казва Action1 де) и това ми е проблема

AquilaX

____________
умният знае кога да говори, мъдрият знае кога да мълчи
Отговор
в отговор на AquilaX #6

Re: Actions

Не използвай Actiona на SpeedButtions а, използвай OnClick на същите както е по-долу. Вместо Name можеш да зададеш стойности на Tag.
Може да е малко допотопно , но работи.

procedure TForm1.Action1Execute(Sender: TObject);
begin
ShowMessage((Sender as TSpeedButton).Name);
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Action1Execute(Sender);
end;

Отговор
в отговор на TRN #7

Re: Actions

Бутоните се създават динамично и дори не знам колко ще са съответно се закачат към определен Action проблемът е че се изграждат на повече от едно място а Action-a остава един и същ. По принцип може да се направи и динамично присвояване на OnClick но е доста по дървено а Actions определено са елегантен начин.
Ще мисля друг начин благодаря на всички за предложенията

AquilaX

____________
умният знае кога да говори, мъдрият знае кога да мълчи
Отговор