Skocz do zawartości

MessageBoxIndirect


Recommended Posts

Napisano

Witam

Mam taki problemik.Chciałem wyświetlić MessageBoxa który niezaleznie od wersji system(angielska,polska) wyświetli mi napisy w klawiszach po polsku(czyli TAK NIE zamiast YES NO).Chcialem uzyc funkcji MessageBoxIndirect opisanej tu https://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/dialogboxes/dialogboxreference/dialogboxfunctions/messageboxindirect.asp ale napisy w klawiszach caly czas sa wyswietlane po angielsku.Używam angielskiej wersji systemu(xp). Co robie nie tak?

const MSGBOXPARAMS MsgBoxParams=
          {
                  sizeof(MsgBoxParams),
          NULL,
                  NULL,
                  "Czy na pewno chcesz wyjść ?",
                  "Edytor Plansz",
                  MB_YESNO | MB_ICONQUESTION,
          NULL,
                  NULL,
                  NULL,
                  MAKELANGID(LANG_POLISH,SUBLANG_DEFAULT)
          };

//obsługa komunikatu WM_CLOSE
CASE  WM_CLOSE:

          if(IDYES==MessageBoxIndirect(&MsgBoxParams))
                  DestroyWindow(hwnd);                      
          return 0;

Z góry dzięki za odpowiedź.
Pozdrawiam

Napisano

W MSDn-ie wyraznie jest napisane (mam nadzieje ze rozumiesz ang):

MSDN napisał:
Before specifying a language identifier, you should enumerate the locales that are installed on a system.

Wiec wydaje mi sie ze to jest twoim problemem.

Ale jesli nie chcesz uzywac tej metody, to zbuduj walsne okienko i podaj tam swoje teksty, to wcale nie jest takie trudne :)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...