←back to thread

377 points porterde | 1 comments | | HN request time: 0.211s | source
Show context
wiseowise ◴[] No.42142078[source]
Still don't understand how we went from this to modern GUI toolkits.

It looks and works so intuitively.

replies(14): >>42142147 #>>42142252 #>>42142509 #>>42142582 #>>42142873 #>>42143270 #>>42143473 #>>42145120 #>>42145467 #>>42146571 #>>42147144 #>>42147616 #>>42148647 #>>42155384 #
signaru ◴[] No.42143473[source]
Having built both desktop-native and browser-based apps, I think there is an efficiency in doing the widget layouts textually via code/markup once you get over the learning curve. I believe Qt and wxWidgets also have automatic layout features, but doing this on top of C++ maybe makes the experience less smooth. So far form designers in Visual Studio require manual pixel layouting, which becomes tedious as the GUI evolves to be more complex. This is great for beginners as dragging and dropping controls is so easy to learn. But as soon as you have a dozen or so controls, you start to notice the time spent manually dragging/aligning/sizing that is absent in markup-based or procedurally generated GUIs that do the layout calculations for you.
replies(1): >>42144263 #
happyweasel ◴[] No.42144263[source]
mfc has resizable ui layouts called Dynamic layouts (since the 2015 update?), and for wxwidgets there is wxformbuilder. Most stuff for mfc can be set in the dialog builder wrt to resizing, or in code. I cant remember doing manual pixel layouting ever, there are dialog base units or sth like this. People have been setting the ui to 120dpi from the 96dpi standard already decades ago. And the dialogs automatically readjusted without recompiling.

I also recently found out my mfc tools are per monitor high dpi aware without any interference from my side.

replies(1): >>42148083 #
1. throwaway2037 ◴[] No.42148083[source]
I had no idea about Dynamic Layouts for MFC. Check it out! https://learn.microsoft.com/en-us/cpp/mfc/dynamic-layout?vie...