Delphi を使用してクイック アクセス バーの [その他のコマンド] ボタンをクリックした後に無効になっているリボン ボタンを有効にするにはどうすればよいですか?
1274 次
2 に答える
8
これは既知のバグです
クオリティ セントラル レポート 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;
于 2010-08-26T17:55:23.680 に答える
1
これは私がしたことです:
procedure TmainTranslatform.MyUpdateActions(ActionManager: TActionManager);
var
i: Integer;
begin
if not Assigned(ActionManager) then
Exit;
for i := 0 to ActionManager.ActionCount - 1 do
begin
if (ActionManager.Actions[i] is TFileOpen) then
begin
(ActionManager.Actions[i] as TFileOpen).Enabled := False;
(ActionManager.Actions[i] as TFileOpen).Enabled := True;
end;
if (ActionManager.Actions[i] is TAction) then
begin
(ActionManager.Actions[i] as TAction).Enabled := False;
(ActionManager.Actions[i] as TAction).Enabled := True;
end;
end;
end;
于 2011-06-19T20:07:12.437 に答える