我有一个应用程序,其中根据选项卡控件中的活动选项卡启用或禁用菜单按钮。当选项卡切换时,将启用适当的按钮,但是当您第一次将鼠标悬停在菜单按钮上时,不会出现提示。但是,先移开该按钮,然后再移回该按钮,将出现提示。此表单的预期用途是切换选项卡,然后选择菜单按钮,因此此行为会使用户感到非常困惑。
VCL不会发生这种情况,Win32上的FMX不会发生这种情况。我尝试了几种不同的解决方法(重置ShowHint属性,尝试在OnMouseEnter上执行某些操作)。当前在Windows 10 PC上运行Delphi Rio。
procedure TForm1.CheckBox1Change(Sender: TObject);
begin
Button1.Enabled := CheckBox1.IsChecked;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.Hint := 'Hint for button1';
Button1.ShowHint := true;
end;
启动一个新的应用程序并将一个TButton和TCheckbox拖放到窗体上。设置复选框的onchange事件。运行程序,将鼠标悬停以查看提示,然后单击复选框以禁用,然后启用按钮。然后将鼠标悬停在按钮上以查看效果-提示不会出现在第一个悬停中,只会出现在随后的悬停中。除了开发自己的提示代码之外,还有其他解决方法的想法吗?
谢谢, 帕特