PDA

View Full Version : یافتن اجرا کننده Action



mbshareat
دوشنبه 17 آبان 1389, 18:09 عصر
با سلام و درود:قلب:
من چندتا دکمه دارم و یه ActionList . می خوام هر دکمه که می زنم نام دکمه یا Tag یا Hint اون تو اکشن تعریف شده به متغیری انتساب داده بشه.:لبخند:
آیا راهی هست که بشه فهمید چه دکمه ای Execute اکشن رو فراخوانی کرده.(Sender خودِ اکشن هستش!!)
یه سوال دیگه هم داشتم که دوست داشتین جواب بدین:
من می خوام هنگام کلیک دکمه های Open و Save و New تو برنامم از شرّ کادر فوکوس خلاص شم.
برای این کار یه اکشن تعریف کردم اما پس از باز کردن DialogBox متناظر باز کادر فوکوس باقی می مونه.(ظاهرا اول دستور اکشن انجام می شه بعد کد کلیک دکمه)چطور می تونم از شرّ! این کادر خلاص شم؟:اشتباه:

vcldeveloper
دوشنبه 17 آبان 1389, 19:55 عصر
من چندتا دکمه دارم و یه ActionList . می خوام هر دکمه که می زنم نام دکمه یا Tag یا Hint اون تو اکشن تعریف شده به متغیری انتساب داده بشه.:لبخند:
آیا راهی هست که بشه فهمید چه دکمه ای Execute اکشن رو فراخوانی کرده.(Sender خودِ اکشن هستش!!)

[CODE]
procedure TForm1.Action1Execute(Sender: TObject);
begin
if Assigned(TAction(Sender).ActionComponent) then
begin
if (TAction(Sender).ActionComponent) is TControl then
ShowMessage(TControl(TAction(Sender).ActionCompone nt).Hint);

case TAction(Sender).ActionComponent.Tag of
0 : ;
1 : ;
2 : ;
end;
end;
end;



یه سوال دیگه هم داشتم که دوست داشتین جواب بدین
ارتباطی با موضوع این تاپیک نداره.