U
Die MessageBox des Systems verwendet einen sogenannten "mapped Font", der bei Windows XP "Tahoma" entspricht.
Im Dialog wird im allgemeinen "MS Sans Serif" verwendet, der manche Unicode-Zeichen nicht darstellen kann. Tahoma kann zwar auch nicht alle, aber auf jeden Fall mehr.
Deinen Dialog auf Tahoma umzustellen ist keine gute Idee, weil dieser Font bei älteren Windows-Versionen noch fehlt.
Am benutzt man bei Unicode-Programmen auch Fontmapping, dann wird auf jedem System der beste Font ausgewählt:
- Visual Studio beenden
- Backup vom Projekt machen
- Die .rc-Datei mit einem Texteditor öffnen
- Dialoge suchen und im Header den Font durch "MS Shell Dlg" ersetzten und den Style MS_FIXEDSYS hinzufügen.
Also aus
IDD_EXPORT_GLOSSARIES DIALOGEX 0, 0, 300, 201
STYLE DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_CONTEXTHELP
CAPTION "Mein Dialog"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
...
mach
[cpp]IDD_EXPORT_GLOSSARIES DIALOGEX 0, 0, 300, 201
STYLE DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_FIXEDSYS
EXSTYLE WS_EX_CONTEXTHELP
CAPTION "Mein Dialog"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
...[/cpp]
Näheres findest du in der MSDN.