在使用Delphi单击快速访问栏中的更多命令按钮后,如何启用功能区按钮?

最佳答案

这是一个已知的错误

质量中心报告70342:


使用功能区控件时,如果有
添加一个快速访问工具栏,然后
在运行时选择“更多命令”以
自定义快速访问工具栏,
许多(尽管不是全部)
各种功能区中的动作组件
组将成为永久性
禁用的。


请查看报告本身以获取更多信息:
http://qc.embarcadero.com/wc/qcmain.aspx?d=70342

该报告仍处于打开状态,因此我也可能无法在D2011中解决该报告,但是Quality Central可能会落后一些。

更新资料

报告指出,目前尚无解决方法,但杰克·苏达列夫(Jack Sudarev)在评论中发表了一篇文章:

procedure TForm6.ActionManager1StateChange(Sender: TObject);
begin
UpdateActions(ActionManager1);
end;

procedure TForm6.UpdateActions(ActionManager: TActionManager);
var
  i: Integer;
begin
  if not Assigned(ActionManager) then
    Exit;

  for i := 0 to ActionManager.ActionCount - 1 do
  begin
    (ActionManager.Actions[i] as TAction).Enabled := False;
    (ActionManager.Actions[i] as TAction).Enabled := True;
  end;
end;

10-07 20:27