MessageBoxen - Sprache
-
Hi,
Ich bin derzeit dabei ein Prog. in englischer Sprache zu erstellen. Nur in den MessageBoxen steht immer "Ja", "Nein", "Abbrechen", ... auf den Schaltflächen. Kann man da irgednwie eine englische Beschriftung "erzwingen" ?
Danke

-
ja das geht.
-
Is ja schon mal ganz gut.
Und wie wenn man fragen darf.
THX
-
Ich glaub da musst du ne eigene Dialogbox erstellen und aufrufen. Weißt du wie das geht?
-
Sprich die MessageBox "nachbauen". Auf die Idee bin ich auch schon gekommen, aber wenn's irgendwie möglich ist möcht ich gerne die englischen Bezeichnungen in den Standardelementen verwenden. Notfalls muss ich die halt wirklich nachbauen, gefällt mir aber leider nicht so wirklich die Variante.
-
Nachbauen ist eine schlechte Lösung. In diesem Fall, würde ein CBT Hook gar nicht schaden

namespace { HHOOK hHook; LRESULT CALLBACK CBTProc(int iCode, WPARAM wParam, LPARAM lParam) { if (iCode >= 0) { switch (iCode) { case HCBT_ACTIVATE: //um eine Nummer sicher zu gehen könnte man ::GetClassName aufrufen //und überprüfen ob es sich um einen Dialog handelt - #32770 SetDlgItemText(reinterpret_cast<HWND>(wParam),IDOK,"Got Milk? :)"); return 0; } } return ::CallNextHookEx(hHook,iCode,wParam,lParam); } } int MyMessageBoxEx(HWND hWnd, LPCTSTR lpszText, LPCTSTR lpszTitle = 0, UINT uType = MB_OK) { hHook = ::SetWindowsHookEx(WH_CBT,CBTProc,0,::GetCurrentThreadId()); int iResult = ::MessageBox(hWnd,lpszText,lpszTitle,uType); ::UnhookWindowsHookEx(hHook); return iResult; }Aufruf: ::MyMessageBox(GetSafeHwnd(),"Text","Title",0)