Windows 7 introduced AeroSnap, which allows the user to maximize a window by dragging it to the top of the screen, and restoring it by dragging it elsewhere. That was quite a while ago, so I'm really surprised it's not supported in FL-Studio 20.
I'm assuming the custom window-management code makes it tricky, but it can't be that bad... can it?
Here are a couple of SO articles on it (old, but probably still relevant):
https://stackoverflow.com/questions/2113531/how-to-handle-drag-event-on-a-maximized-window
https://stackoverflow.com/questions/9321549/handling-aerosnap-message-in-wndproc
https://stackoverflow.com/questions/13335646/how-can-i-programmatically-use-aero-snap-features-from-c-sharp-code
This forum post looks super-promising, though:
https://www.overclock.net/threads/c-the-real-aero-snap-with-custom-form-border.1518726
Windows 7/10/11 AeroSnap, Please!
[You can only see part of this thread as you are not logged in to the forums]
Re: Windows 7/10/11 AeroSnap, Please!
Checking in to see if anyone's noticed this one...