Как установить позицию всплывающего окна Emoji в Win32 - PullRequest
0 голосов
/ 07 июня 2019

В Windows 10 добавлен диалог Emoji по горячей клавише Windows + точка.С 2017 года. Как мое приложение может установить положение этого диалога, чтобы оно отображалось рядом с кареткой приложения?Пример C ++ приветствуется.

Мое приложение использует пользовательский элемент управления с собственной кареткой (написанной на Delphi).

Examlpe of popup

1 Ответ

0 голосов
/ 08 июня 2019

Вы можете установить фокус на элемент управления Edit и вызвать keybd_event или SendInput

Например, с элементом управления Edit hEdit1 и keybd_event :

SetFocus(hEdit1);
keybd_event(VK_LWIN, 0, KEYEVENTF_EXTENDEDKEY, 0);
WORD nVkCode = LOBYTE(VkKeyScanEx('.', GetKeyboardLayout(0)));
keybd_event(nVkCode, MapVirtualKey(nVkCode, 0), 0, 0);
keybd_event(nVkCode, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);
...