5

我已经尝试了许多与 RibbonApplicationMenuBar 相关的方法,以防止用户使用鼠标选择 RibbonApplicationMenuBar,直到从 inifile 加载项目设置并关闭启动表单。但是除非另有说明,否则似乎没有任何方法可以使 RibbonApplicationMenuBar 处于非活动状态。

帮助文件没有显示任何关于 RibbonApplicationMenuBar 和帮助 Wiki 的许多属性的内容,所以我无法解决这个问题。

procedure TMainForm.FormCreate( Sender: TObject );
begin
  // make theRibbonApplicationMenuBar1 inactive
  RibbonApplicationMenuBar1.Enabled := False;
  RibbonApplicationMenuBar1.Inactive := True;
  RibbonApplicationMenuBar1.Hide;
  RibbonApplicationMenuBar1.AutoFocus := False;
  // read application settings
  ReadIni( AIniFileFilename );
  // show a splash form
  FormSplash := TFormSplash.Create( MainForm );
  // FormSplash.Parent := MainForm;
  FormSplash.Position := poOwnerFormCenter;
  FormSplash.Show;
  FormSplash.Update;
end;


procedure TMainForm.FormShow( Sender: TObject );
begin
  // close the splash form
  FormSplash.RequestClose;
  // Activate the RibbonApplicationMenuBar
  RibbonApplicationMenuBar1.Enabled := True;
  RibbonApplicationMenuBar1.Inactive := False;
  if RibbonApplicationMenuBar1.CanFocus then
    RibbonApplicationMenuBar1.SetFocus;
  RibbonApplicationMenuBar1.AutoFocus := True;
  RibbonApplicationMenuBar1.SelectApplicationButton;
  RibbonApplicationMenuBar1.Show;
end;

除非 RibbonApplicationMenuBar 处于非活动状态,否则用户可以在 RibbonApplicationMenuBar 准备好被选择之前选择它。任何建议表示赞赏。我知道这里显示的所有方法都不正确或可能出现故障......这只是我试图阻止 RibbonApplicationMenuBar 变得活跃和可点击,直到启动表单关闭。

谢谢,

账单

4

1 回答 1

0

将 TRibbon.Enabled 设置为 False 即可禁用所有功能区操作(使用 XE3 测试)。最简单的方法是在设计时将其设置为 False。例如,从启动表单的 OnHide 将其设置回 True。仅在所有后台活动完成后才关闭启动。

于 2013-07-10T21:47:08.340 回答