Delphi中如何通过TdxRibbon禁用DevExpress功能区中的特定控件实现详细禁用方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计305个文字,预计阅读时间需要2分钟。
在Delphi应用中,DevExpress+VCL功能区域有时会进行更新。在这段时间,我希望确保用户没有进行任何操作。因此,我希望能禁用该功能区域上的所有控件,但我无法计算控制每个控件。
我的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;
几乎每个工具栏控件都会禁用操作,而不是显示的内容.
本文共计305个文字,预计阅读时间需要2分钟。
在Delphi应用中,DevExpress+VCL功能区域有时会进行更新。在这段时间,我希望确保用户没有进行任何操作。因此,我希望能禁用该功能区域上的所有控件,但我无法计算控制每个控件。
我的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;
几乎每个工具栏控件都会禁用操作,而不是显示的内容.

