Ich ändere eine Windows CE-Anwendung, um verschiedene Sprachen über Unicode anzuzeigen.Windows CE MessageBox zeigt Unicode-Text und Symbol Transparenz nicht an
Durch die Änderung der Schriftart auf der Ressource-Datei habe ich es geschafft, die in einer Schaltfläche angezeigt, aber es nicht erhalten, um "παρίσταταί" richtig in einer MessageBox anzuzeigen.
Das Ergebnis sieht wie folgt aus:
fand ich eine Open-Source-XMessageBox Ersatz und bekam es in Windows CE mit einigen geringfügigen Änderungen zu arbeiten. Das Ergebnis ist dieses:
Mein Problem ist, aufgrund nicht in der Lage ist, um die Schriftart über eine Message Box Hook (nicht verfügbar in Win CE) habe ich die Schriftart auf „Arial Unicode MS“ in XMessageBox und der Text wird angezeigt, aber das Symbol ist nicht korrekt.
Wie bekomme ich die MessageBox, um eine andere Schriftart zu verwenden ODER Wie bekomme ich XMessageBox nicht einen transparenten ICON-Hintergrund zu haben?
Die Desktop-Version von XMessageBox kann here und ich habe GitHub Repo des Testprogramms für Sie auf den Code suchen gefunden werden - in der CUnicodeTestDlg :: OnInitDialog-Methode.
CStringW greekText(L"παρίσταταί");
TheButton.SetWindowText(greekText );
::MessageBox(*this,
greekText,
L"Is this greek?", MB_YESNO | MB_ICONHAND);
XMessageBox(*this,
greekText,
L"Is this greek?", MB_YESNO | MB_ICONHAND);
Bitte beachten Sie: „Arial Unicode MS“ muss auf dem Gerät oder Emulator für die XMessageBox den griechischen Text korrekt anzuzeigen installiert werden.
Ich kann keinen Fehler in GitHub Code sehen, es ist wahrscheinlich etwas seltsam über Windows CE. Warum entfernst du nicht einfach das Icon? Diese Symbole sind riesig, es dauert etwa 1 MB für 4 Symbole. Überprüfen Sie auch, ob "Arial Uniocde MS" installiert ist. –