Сообщение Re: WM_CHAR и юникод от 02.09.2019 13:00
Изменено 02.09.2019 13:31 TailWind
Re: WM_CHAR и юникод
Всё оказалось просто
Но в гугле решение не ищется на первых страницах
1. WM_CHAR может присылать как ANSI так и UNICODE коды символов
Это зависит от того является ли окно unicode'ным
Проверить это можно так:
2. Чтобы сделать окно unicode'ным нужно регистрировать его класс с помощью RegisterClassExW, а не RegisterClassEx
Что самое смешное, в документации на WM_CHAR про это ни слова
Всё написано в доке на IsWindowUnicode и RegisterClassEx
Но в гугле решение не ищется на первых страницах
1. WM_CHAR может присылать как ANSI так и UNICODE коды символов
Это зависит от того является ли окно unicode'ным
Проверить это можно так:
if (IsWindowUnicode(hwnd)) ws_Show(L"Yes");
else ws_Show(L"No");
2. Чтобы сделать окно unicode'ным нужно регистрировать его класс с помощью RegisterClassExW, а не RegisterClassEx
Что самое смешное, в документации на WM_CHAR про это ни слова
Всё написано в доке на IsWindowUnicode и RegisterClassEx
Re: WM_CHAR и юникод
Всё оказалось просто
Но в гугле решение не ищется на первых страницах
1. WM_CHAR может присылать как ANSI так и UNICODE коды символов
Это зависит от того является ли окно unicode'ным
Проверить это можно так:
2. Чтобы сделать окно unicode'ным нужно регистрировать его класс с помощью RegisterClassExW, а не RegisterClassEx
Что самое смешное, в документации на WM_CHAR про это ни слова
Всё написано в доке на IsWindowUnicode и RegisterClassEx
Но в гугле решение не ищется на первых страницах
1. WM_CHAR может присылать как ANSI так и UNICODE коды символов
Это зависит от того является ли окно unicode'ным
Проверить это можно так:
if (IsWindowUnicode(hwnd)) Show(L"Yes");
else Show(L"No");
2. Чтобы сделать окно unicode'ным нужно регистрировать его класс с помощью RegisterClassExW, а не RegisterClassEx
Что самое смешное, в документации на WM_CHAR про это ни слова
Всё написано в доке на IsWindowUnicode и RegisterClassEx