PDA

View Full Version : سوال: تعریف دسترسی به اکشن های ActionManager



fahimi
جمعه 08 دی 1391, 21:22 عصر
سلام
می دانیم که به دستور


(ActionManager.Actions[0] as TAction).Enabled := False;


ولی من می خواهم بر اساس نام Actions قابل دسترس (Enabled) آن را True یا False بکنم
کد زیر هم تست کردم خطا داد.


(ActionManager.Actions.Name[Act01] as TAction).Enabled := False;

Felony
چهارشنبه 13 دی 1391, 08:30 صبح
باید با یک حلقه روی Action های موجود در Action Manager حرکت کنید و اسم اونها رو بررسی کنید ، وقتی به Action مورد نظر رسیدید عملیات مورد نظر رو روش انجام بدید :


procedure TForm1.SetActionEnabled(const ActionName: string; Enabled: Boolean);
var
ActCount: Integer;
begin
for ActCount := 0 to ActionManager1.ActionCount - 1 do
if (ActionManager1.Actions[ActCount].Name = ActionName) then
begin
(ActionManager1.Actions[ActCount] as TAction).Enabled:= Enabled;
Exit;
end;
end;

khorsandreza
شنبه 31 خرداد 1393, 18:22 عصر
سلام دوستان
من می خواهم با استفاده در دستورات بالا مقدار کپش ActionManager1 در داخل ChkListBox اضافه کنم ولی یک خطا می گیره

ActionList.Items.Clear;
for i := 0 to ActionManager1.ActionCount - 1 do
begin
Pstr := (ActionManager1.Actions[i] as TAction).Caption;
ActionList.Items.Add(Pstr);
end;