I'd like to get some advice from others on the forums here about C++ GUI application development.
Right now I am an amateur game developer by hobby and am concerned about limiting my career opportunities. When it comes to making games, I generally set up a basic skeleton Windows application where I write my own WndProc and handle many Windows messages myself. I use libraries like Direct3D for graphics. When it comes to GUI components I only have very little experience using the WinAPI directly. To make a dialog box in my games, I write my own DlgProc function and call DialogBox().
I feel like using the Win API to create GUI components is a very dated way of going about this. Not only that, I feel like more and more companies are moving away from C++ and towards C# to create Windows applications.
I am really interested in C++ since I have been using it for so long and also because it's a language often commonly used in game development. At the same time, I'd like to open myself up to more job opportunities by making a few projects which are just standard Windows applications with a menu, buttons, etc.
What are the most common ways C++ GUI Windows applications are made today? I've been told to avoid MFC if at all possible. Also, does anyone have a few project ideas for someone who is proficient in C++ and understands the essentials of Windows programming but has little experience with GUI programming?
If you haven't yet locked yourself into any particular framework, I think it would make sense to learn one of the cross-platform ones like QT or GtkMM rather than a Windows-specific one. For the most part, the principles apply pretty similarly to each though.