mirror of
https://github.com/reactos/reactos.git
synced 2024-10-15 13:45:58 +00:00
- Add code for getting language name
svn path=/trunk/; revision=33614
This commit is contained in:
parent
0f40cce788
commit
413660b2dc
|
@ -281,15 +281,15 @@ ActivateLayout(HWND hwnd, ULONG uLayoutNum)
|
||||||
HKL hKl;
|
HKL hKl;
|
||||||
TCHAR szLayoutNum[CCH_ULONG_DEC + 1];
|
TCHAR szLayoutNum[CCH_ULONG_DEC + 1];
|
||||||
TCHAR szLCID[CCH_LAYOUT_ID + 1];
|
TCHAR szLCID[CCH_LAYOUT_ID + 1];
|
||||||
TCHAR szName[MAX_PATH];
|
TCHAR szLangName[MAX_PATH];
|
||||||
|
|
||||||
_ultot(uLayoutNum, szLayoutNum, 10);
|
_ultot(uLayoutNum, szLayoutNum, 10);
|
||||||
GetLayoutID(szLayoutNum, szLCID);
|
GetLayoutID(szLayoutNum, szLCID);
|
||||||
GetLayoutName(szLayoutNum, szName);
|
|
||||||
CreateTrayIcon(szLCID);
|
CreateTrayIcon(szLCID);
|
||||||
|
|
||||||
// Switch to the new keyboard layout
|
// Switch to the new keyboard layout
|
||||||
UpdateTrayIcon(hwnd, szLCID, szName);
|
GetLocaleInfo((LANGID)_tcstoul(szLCID, NULL, 16), LOCALE_SLANGUAGE, (LPTSTR)szLangName, sizeof(szLangName) / sizeof(TCHAR));
|
||||||
|
UpdateTrayIcon(hwnd, szLCID, szLangName);
|
||||||
hKl = LoadKeyboardLayout(szLCID, KLF_ACTIVATE);
|
hKl = LoadKeyboardLayout(szLCID, KLF_ACTIVATE);
|
||||||
|
|
||||||
EnumWindows(EnumWindowsProc, (LPARAM) hKl);
|
EnumWindows(EnumWindowsProc, (LPARAM) hKl);
|
||||||
|
@ -397,13 +397,6 @@ DeleteHooks()
|
||||||
if (hDllLib) FreeLibrary(hDllLib);
|
if (hDllLib) FreeLibrary(hDllLib);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL CALLBACK
|
|
||||||
EnumChildProc(HWND hwnd, LPARAM lParam)
|
|
||||||
{
|
|
||||||
SendMessage(hwnd, WM_INPUTLANGCHANGEREQUEST, 0, lParam);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
GetNextLayout()
|
GetNextLayout()
|
||||||
{
|
{
|
||||||
|
@ -438,7 +431,7 @@ LRESULT CALLBACK
|
||||||
WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
static HMENU hLeftPopupMenu, hRightPopupMenu;
|
static HMENU hLeftPopupMenu, hRightPopupMenu;
|
||||||
static TCHAR szLCID[MAX_PATH];
|
static TCHAR szLCID[MAX_PATH], szLangName[MAX_PATH];
|
||||||
|
|
||||||
switch (Message)
|
switch (Message)
|
||||||
{
|
{
|
||||||
|
@ -454,7 +447,8 @@ WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
||||||
case WM_LANG_CHANGED:
|
case WM_LANG_CHANGED:
|
||||||
{
|
{
|
||||||
GetLayoutIDByHkl((HKL)lParam, szLCID);
|
GetLayoutIDByHkl((HKL)lParam, szLCID);
|
||||||
UpdateTrayIcon(hwnd, szLCID, _T(""));
|
GetLocaleInfo((LANGID)_tcstoul(szLCID, NULL, 16), LOCALE_SLANGUAGE, (LPTSTR)szLangName, sizeof(szLangName) / sizeof(TCHAR));
|
||||||
|
UpdateTrayIcon(hwnd, szLCID, szLangName);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -467,7 +461,8 @@ WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
||||||
case WM_WINDOW_ACTIVATE:
|
case WM_WINDOW_ACTIVATE:
|
||||||
{
|
{
|
||||||
GetLayoutIDByHkl(GetKeyboardLayout(GetWindowThreadProcessId((HWND)wParam, 0)), szLCID);
|
GetLayoutIDByHkl(GetKeyboardLayout(GetWindowThreadProcessId((HWND)wParam, 0)), szLCID);
|
||||||
UpdateTrayIcon(hwnd, szLCID, _T(""));
|
GetLocaleInfo((LANGID)_tcstoul(szLCID, NULL, 16), LOCALE_SLANGUAGE, (LPTSTR)szLangName, sizeof(szLangName) / sizeof(TCHAR));
|
||||||
|
UpdateTrayIcon(hwnd, szLCID, szLangName);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue