加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何禁用TdxRibbon(DevExpress功能区控件)中的控件?

发布时间:2020-12-15 09:17:59 所属栏目:大数据 来源:网络整理
导读:我的Delphi应用程序中有一个DevExpress VCL功能区 应用程序有时会进行一些更新,在那段时间我需要确保用户没有做任何事情,所以我希望能够禁用功能区上的所有控件,但我无法计算控制每个选项卡上的工作 无论我怎么做,ComponentCount都返回0但我可以看到控件. 我
我的Delphi应用程序中有一个DevExpress VCL功能区
应用程序有时会进行一些更新,在那段时间我需要确保用户没有做任何事情,所以我希望能够禁用功能区上的所有控件,但我无法计算控制每个选项卡上的工作

无论我怎么做,ComponentCount都返回0但我可以看到控件.
我的testcode看起来像这样:

procedure TfrmMain.RibbonDisable(var aMessage: TMessage);
var
  i: integer;
begin
  try
    for i := 0 to ribMain.TabCount - 1 do
      begin
        ribMain.Tabs.Items[i].Active := True;
        ShowMessage(IntToStr(ribMain.ActiveTab.ComponentCount));
      end;
  except
    on E:exception do
      Logfile.Error('frmMain.RibbonDisable: ' + E.Message);
  end;
end;

解决方法

只需在执行更新时禁用整个 TdxRibbon

ribMain.Enabled := False;

或者,如果您确实只想禁用选项卡项,请使用以下命令:

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to ribMain.BarManager.ItemCount - 1 do
    ribMain.BarManager.Items[I].Enabled := False;
end;

几乎每个工具栏控件都会禁用操作,而不是显示的内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读