Comment by magicalhippo
15 days ago
> Try writing something like Spotify in WinAPI and that's not even a complicated GUI either.
Fruityloops, now FL Studio, was written in Delphi and to my knowledge still is[1]. When ot launched there were no options but Win32 for Delphi.
That's just one example. Win32 makes it reasonably easy to skin things, and back in the 2000s a lit of programs did.
[1]: https://blogs.embarcadero.com/fl-studio-is-a-massively-popul...
> Win32 makes it reasonably easy to skin things
Actually it doesn't. Win32 skinning is either making a control completely from scratch or hacking into undocumented aspects of the native controls - i.e. what WindowBlinds does. AFAIK modern Delphi has some component that basically follows the WindowBlinds approach.
> Win32 skinning is either making a control completely from scratch
In almost all cases you just need to handle the drawing yourself, and you get fairly broad access through the API to do so through the various non-client and client window messages.
Now, Windows has gained some newfangled components over the years with more or less integration, I'm thinking basic Win32 controls.
What all cases? Windows (basic Win32 at that) provides a lot of controls like buttons, checkboxes, inputboxes, scrollbars, radiobuttons, comboboxes, listboxes, etc which do all their drawing themselves and you do not have any way to fully skin them (without hooking into undocumented stuff). Some controls allow for custom drawn elements but pretty much always that is just for the elements themselves, not the entire control.