Earlier quoted context omitted.
FWIW LCL (Lazarus' framework) emulates the Windows behavior (there are even some reimplementations of Windows functions in non-Windows platforms to assist with that) since the API "descends" from Delphi's VCL which is Windows-only (and IMO it makes perfect sense that if you need to emulate some OS's behavior to focus on the most popular one). The end result is obviously that under Windows things work great, under X11…
Does it emulate Windows behavior, or does it simply wrap it? My understanding is that LCL wraps Win32 API directly on Windows, same as VCL did.
https://github.com/graemeg/lazarus/blob/upstream/lcl/interfa...
Note that all widgetsets implement these methods, even the Win32 one (which instead of reimplementing it just forwards the calls to the real Windows API).