Программирование для Windows NT (том 2)


         

Исходные тексты приложения SETLOCAL - часть 3


// Функция WndProc_OnCommand

// -----------------------------------------------------

#pragma warning(disable: 4098)

void WndProc_OnCommand(HWND hWnd, int id,

  HWND hwndCtl, UINT codeNotify)

{

  char szBuf[1024];

  char szBuf1[1024];

  char szKbLayoutName[KL_NAMELENGTH];

  BOOL fRc;

 

  switch (id)

  {

    case ID_FILE_EXIT: 

    {

       // Завершаем работу приложения

       PostQuitMessage(0);

       return 0L;

       break;

    }

        

    // Установка набора национальных параметров для Англии

    case ID_LOCALINFO_SETENGLISH:

    {

      // Выполнение установки для текущей задачи

      fRc = SetThreadLocale(MAKELCID(

        MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL),

        SORT_DEFAULT));

     

      // При возникновении ошибки получаем и отображаем ее код

      if(fRc == FALSE)

      {

        wsprintf(szBuf1,"SetThreadLocale: Error %ld\n",

          GetLastError());

        MessageBox(hWnd, szBuf1, "Error", MB_OK);

      }

      break;

    }

   

    // Установка набора национальных параметров для России

    case ID_LOCALINFO_SETRUSSIAN:

    {

      fRc = SetThreadLocale(MAKELCID(

        MAKELANGID(LANG_RUSSIAN, SUBLANG_NEUTRAL),

        SORT_DEFAULT));

      if(fRc == FALSE)

      {

        wsprintf(szBuf1,"SetThreadLocale: Error %ld\n",

          GetLastError());

        MessageBox(hWnd, szBuf1, "Error", MB_OK);

      }

      break;

    }

   

    // Получение и отображение некоторых

    // национальных параметров

    case ID_LOCALINFO_GETLOCALINFO:

    {

      // Отображение полного названия национального языка

      strcpy(szBuf, "LOCALE_SLANGUAGE: ");

      GetLocaleInfo(

        GetThreadLocale(), LOCALE_SLANGUAGE, szBuf1, 512);

      strcat(szBuf, szBuf1);

      // Отображение кода страны

      strcat(szBuf, "\nLOCALE_ICOUNTRY: ");

      GetLocaleInfo(

        GetThreadLocale(), LOCALE_ICOUNTRY, szBuf1, 512);




Содержание  Назад  Вперед