points by adzm 3 days ago | 0 comments
Win32 API is great and responsive; ATL/WTL (and MFC) are still very useful abstractions with little cost. The biggest pain point is having to handle a lot of things manually, like DPI awareness (and themed controls). Even things like Emoji and other modern text features are not available through GDI and require DirectWrite iirc. Still, I'm surprised how useful it manages to be regardless how old it is.
[–] queenkjuul 3 days ago
[–] WorldMaker 2 days ago
WinForms provided some responsive control patterns like "anchors" and "dock" properties [0] and other sorts of relative positioning. Some third party component libraries included even more advanced layout controls. A lot of applications would add in imperative code to make up for more complex scenarios that anchors/dock didn't handle well enough. WinForms was still built on the back of pixel-perfect positioning assumptions, so there was always people doing it manually with handwritten/hand-tuned math.
It is something I appreciate about WPF and other successors is that responsive layouts became the default and low level building blocks with "pixel perfect" harder to do and less of an "after thought" on top of pixel perfect WYSIWYG that's easy to get responsive wrong, but even with WinForms people were building responsive apps back in the day.
[0] https://learn.microsoft.com/en-us/dotnet/desktop/winforms/co...
[–] canucker2016 3 days ago
Probably more responsive.
Windows apps always had to be able to respond to dynamically changing screen dimensions since the user could change from one screen resolution to another while an app was still running. Apps would get a WM_DISPLAYCHANGE message in their top-level windows message processing loop. Docs say WM_DISPLAYCHANGE was introduced in Win95.
In web we refer to the latter but i feel you mean the former.
I built a toy project in .NET 2005[0] with WinForms and the experience was actually excellent, binding data to controls was dead simple, it felt surprisingly modern. But i can't imagine how I'd make the UI resizable lol
[0]https://github.com/queenkjuul/spotify97