AdvToolbarForm not responsive to WIN+ARROWS forms


we're currently updating the TMS components from XE6 to XE10.4.
If you:

  • create a new project
  • Insert the TAdvToolBarPager
  • Set the form class to TAdvToolBarForm
    the form doesen't move as the standard TFrom class with the use of WIN+ARROWS.

The only things that seems to work is WIN+DOWN_ARROW that minimize the form.
Is there something else i need to enable in order to makes WIN+ARROWS form positioning work?


Unfortunately this is a Windows specific behavior that is not compatible with the form style used for the TAdvToolBarForm. You'll see the same when you use a borderless (non-sizeable) standard VCL form. This appears to be the criteria Windows users to allow this functionality or not. Unfortunately, we have not found a workaround yet to let Windows do this on the form type used by TAdvToolBarForm.

So, if i want to replicate the system i need to override and manage the OnKeyDown event of the form?
With the various combinations:

  • WIN + ARROW_left
  • WIN + ARROW_right
  • WIN + ARROW_up

That could be a possible approach to add the code at application level that mimics this Windows behavior.

It's all the morning that i'm trying to do that, but..
The OnKeyDown window event fire up fine when the win keys are pressed and when the arrows are pressed. But the event doesen't fire when there's the win key already pressed.
Actually on the internet i haven't found anything that let me intercept the "win_key_already_pressed + Arrows" event.

Probably that's the same reason why you haven't managed this behavior..

We have spent a considerable amount of time already to try to find a solution.
A new idea is to check maybe the WM_SYSKEYDOWN ?