Информация об изменениях

Сообщение Re: WM_CHAR и юникод от 02.09.2019 13:00

Изменено 02.09.2019 13:31 TailWind

Re: WM_CHAR и юникод
Всё оказалось просто
Но в гугле решение не ищется на первых страницах

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'ным

Проверить это можно так:
if (IsWindowUnicode(hwnd)) Show(L"Yes");
else                       Show(L"No");


2. Чтобы сделать окно unicode'ным нужно регистрировать его класс с помощью RegisterClassExW, а не RegisterClassEx

Что самое смешное, в документации на WM_CHAR про это ни слова
Всё написано в доке на IsWindowUnicode и RegisterClassEx