Problem displaying hints in FMX Win32 application


I have an application where menu buttons are enabled or disabled depending on the active tab in a tab control. When the tab switches, the appropriate button(s) are enabled but when you first hover over a menu button the hint does not appear. However, after moving off the button and then back over it, the hint appears. The expected use of this form is to switch tabs and then selected a menu button, so this behavior will be very confusing to the user.

This does not happen with the VCL but with FMX on Win32. I have tried several different workarounds (resetting the ShowHint property, trying to do something on OnMouseEnter). Currently running Delphi Rio on a Windows 10 PC.

procedure TForm1.CheckBox1Change(Sender: TObject);
Button1.Enabled := CheckBox1.IsChecked;

procedure TForm1.FormCreate(Sender: TObject);
Button1.Hint := ‘Hint for button1’;
Button1.ShowHint := true;

Start a new application and drop a TButton and TCheckbox onto the form. Set the checkbox’s onchange event. Run the program, hover to see the hint then click the checkbox to disabled and then enabled the button. Then hover over the button to see the effect – the hint will not appear on the first hover, only on subsequent hovers. Any idea of a workaround aside from developing my own hint code?


Comments are closed.