Unicode in MFC/C++

To make strings not barf when you switch back and forth between multibyte encoding and unicode encoding….

when defining string literals:
_T(“StringValue”) – works always
L(“StringValue”) – works if unicode rather than multibyte
“StringValue” – works if multibyte

when defining string variables:
LPTSTR myString = new TCHAR[25];

when changing control values:
controlName.SetWindowTextW( myString.c_str() );

This is why I have a love/hate relationship with C++

To make the About This App dialog appear from the System Menu (what comes up when you right click on the icon of the application), considering the About Dialog was already working from the Help menu…

Typical of C++, this requires editing 6 different files, header files, source files, resource files, etc, 98% of which is adding boiler-plate un-original code. There is no reason it needs to be this complicated. On the other hand, a lot of other programming languages don’t even give you that option to add things to the system menu…