Вверх ↑
Этот топик читают: Гость
Ответов: 1343
Рейтинг: 31
#1: 2015-03-01 17:12:36 ЛС | профиль | цитата
Как определить Handle на котором в данный момент установлен фокус? (Касаемо всего GUI, а не только формы)
карма: 2

0
Ответов: 1926
Рейтинг: 172
#2: 2015-03-02 18:03:00 ЛС | профиль | цитата
Вообще-то есть функция WinAPI GetFocus:

code_35234.txt
Но почему-то у меня на другие формы она не работает. Может, кто подскажет причину?
карма: 9
0
файлы: 1code_35234.txt [653B] [155]
Ответов: 4631
Рейтинг: 749
#3: 2015-03-02 18:34:05 ЛС | профиль | цитата
Для GetFocus вроде нужно делать AttachThreadInput.

Наверное, лучше использовать GetGUIThreadInfo
карма: 26

1
Голосовали:3042
Ответов: 1926
Рейтинг: 172
#4: 2015-03-03 20:22:34 ЛС | профиль | цитата
Rysik, вот рабочий вариант:

code_35246.txt
------------ Дoбавленo в 20.22:
С помощью GetGUIThreadInfo также можно определить идентификатор окна:
- захватившего мышь
- которое владеет активным меню
- которое в данный момент перемещается или изменяет размер
- которое показывает на экране каретку

А также определить координаты каретки.

Вот на русском: http://vsokovikov.narod.ru/New_MSDN_API/Window/str_guithreadinfo.htm
карма: 9
2
файлы: 1code_35246.txt [764B] [199]
Голосовали:Rysik, Konst
4
Сообщение
...
Прикрепленные файлы
(файлы не залиты)