The C ++ ISO statements in the comments of this answer are poorly edited. None of the solutions presented here would impose on the computing code the requirement to switch to another C ++ dialect. The GUI code itself may be a different story.
Answers about using Windows Forms with managed C ++ are probably the most practical. Most of the code associated with the user interface will be in C ++ dialect (extension), where pointers collected using .NET garbage will live with traditional C ++ ISO pointers. I have not used this method, but from what I read, it may be better than what I used.
MFC can be more practical if you do not want to invest in .NET for this task. It uses standard C ++ constructs to port the Windows API. The Windows API uses a specific calling convention that C ++ usually does not use, and it requires an extension for C ++, but this is no different from how a C ++ program calls some functions that are external "C " Visual Studio has a GUI layout tool that is really good at linking dialogs and interacting with dialog widgets with variables that reflect the state of widgets. I used this. If you can drop your GUI into a dialog box, that would be a great option, otherwise you would use one of the windows controlled by MFC layouts.
Obviously, the above options do not handle other platforms that you might think about.
There are also various tools that were born on other platforms and were decently ported to Windows. GTK, QT, FLTK and WxWindows come to mind. I have not used any of the dialog layout / application development tools that work with them, and I have not used QT at all. The last time I looked at QT, it had a special preprocessor code for the GUI code. As far as I know, these portable toolkits are pure C ++ ISO.
As a really-out option, you can program the X Window System protocol with "libx". As far as I know, this is not related to code other than ISO C ++.
cardiff space man
source share