The TMSFNCCombobox behaves wrong under Windows10 (Delphi 10.4, VCL+FMX).

The TMSFNCCombobox behaves wrong under Windows10 (Delphi 10.4, VCL+FMX).

So can the problem be reproduced:

  • Create a new project
  • Place a TMSFNCComboBox and an edit field on the form
  • Create a few entries (items) in the TMSFNCComboBox
  • Compile/start the project

Problem 1:

  • Open the TMSFNCComboBox to select an entry
  • Click in the edit field without making a selection
  • The TMSFNCComboBox remains open

Problem 2: (FMX only)

  • In an FMX project the selection list of the TMSFNCComboBox always remains visible, even if the program is minimized and e.g. the Internet Explorer is opened.

Problem 3:
When moving the window the selection list is always updated with a certain delay.

The video shows the incorrect behaviour.
The VLC media player has problems playing, best use the Windows Media Player. Since no MP4 attachments are possible, I have zipped the file.
Error_FNCCombobox.zip (151.7 KB)

Hello,

We fixed the issue for the csDropDownList style, but for the csDropDown style this is not possible to fix. In TTMSFNCComboBox the visible edit field needs to stay in focus and for that we need to force the popup to stay on top.
If the popup should disappear at a specific action (for example a button click) then you can use TTMSFNCComboBox.DropDown. You can check if the popup is opened with TMSFNCComboBox.Popup.IsOpen.

we'd noticed this too, had been instructing our users to make sure they don't move off to another field before selecting an option from the drop down.

Can you programmatically force the popup (drop down list of options) to close? - I tried setting modal result of popup.

Hello,

With the combination of TTMSFNCComboBox.DropDown and TTMSFNCComboBox.Popup.IsOpen you can force the closing of the popup:

procedure TForm1.TMSFNCEdit1Enter(Sender: TObject);
begin
  if TMSFNCComboBox1.Popup.IsOpen then
    TMSFNCComboBox1.DropDown;
end;