Dialog englischsprachig, wenn MFC statisch eingebunden
-
Hallo,
ich habe eine SDI-Anwendung mit Doc/ View Unterstützung geschrieben
(VC++.net / MFC 7.0). Wenn ich die MFC-Bibliothek dynamisch einbinde
(DLL), sind alle Standarddialoge (Datei-Öffnen, Datei-Speichern etc.)
deutsch. Binde ich die MFC aber statisch ein, sind sie plötzlich
englischsprachig. Wer weiß Abhilfe ?Danke im voraus
Alex
-
ich habe genau das gleiche problem.
hat nicht jemand eine idee woran das liegen könnte bzw wie man das problem lösen kann?
-
Schaltet um auf "Ressourcenansicht"
Klickt mit rechts in dem Baum auf "<Meine App> Ressourcen"
Wählt "Ressourcen-Includes"
Klickt auf "Kompilierzeitdirektiven"Im unteren Editfeld werden die MFC-Resourcen für den Resource-Compiler eingebunden. Da müsst ihr dann z.B.
#include "afxres.rc"durch
#include "l.deu\afxres.rc"ersetzen.
Das gleiche macht ihr mit allen .rc-Dateien die mit "afx" anfangen.
(Kann sein, dass die Befehlstexte ein wenig anders heißen)
-
vielen dank! das hat ja wunderbar geklappt. jetzt ist mein programm endlich komplett in deutsch.
weißt du vielleicht auch wie man den dialog titel von dem "datei öffnen"-dialog ändern kann. der soll nämlich bei mir "projekt öffnen" heißen.
natürlich könnte ich die AFXRES.RC ändern, aber das wäre ja wohl nicht so sauber. immerhin wird die ja dann von anderen mfc-projekten mit verwendet.
vielleicht gibt es eine möglichkeit die AFX_IDS_OPENFILE konstante neu zu definieren?
aufjeden fall vielen dank schon mal für die tolle antwort!
-
Das geht so:
CString title = "bla bla"; CFileDialog dlg(...); dlg.m_ofn.lpstrTitle = title; dlg.DoModal();m_ofn ist die OPENFILESTRUCT die noch zusätzliche Einstellungen im CFileDialog erlaubt, z.B. die Vorgabe des Ordners. Es lohnt sich, in der MSDN mal unter OPENFILENAME nachzuschlagen.