If you are using the main C++ distribution of wxWidgets, Feel free to ask any question related to wxWidgets development here. This means questions regarding to C++ and wxWidgets, not compile problems.
if I want UTF-8 wxString in transparent way everywhere. Do I use this in preprocessor under Visual Studio 2015 -> Properties -> C/C++ -> Preprocessor Definitions ? I tried but it didn't work as expected.
I see. After some looking up I found that I can use std::wstring. This should work without any encoding problems.
Things are becoming clear now. So, that means the wxWidget controls e.g. wxTextCtrl and wxListCtrl in particular are using UTF-16 to handle and display data?
So, that means the wxWidget controls e.g. wxTextCtrl and wxListCtrl in particular are using UTF-16 to handle and display data?
Not exactly.
wxString under Windows uses UTF-16 to store string data internally. As do the native controls under Windows (in Unicode).
But in most cases you don't have to care about this and consider wxString a black box. Only when you need a specific encoding, you can use ToUTF8 or the more generic mb_str(...) to get it.
If I want wxTextCtrl and wxListCtrl to interpret data as UTF-8 for display, do I need to re-compile wxWidgets?
Theoretically you can make wxWidgets use UTF8 as internal storage for strings. But as PB already mentioned, i don't think this is fully supported under Windows. It will probably cause more problems than it solves. My recommendation: Don't do it.