Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.03;
Скачать: CL | DM;

Вниз

Как получить handle фокусного объекта   Найти похожие ветки 

 
SamProf ©   (2006-08-12 16:44) [0]

Я знаю:
GetForegraudWindow - возвращает handle активного окна в винде
GetActiveWindow - возврашяет активное окно моего приложения
GetFocus - - хандл фокусного компонента на моей форме

А нужно получить хандле обьекта, активной в данной формы в системе!


 
Zeqfreed ©   (2006-08-12 16:54) [1]

> [0] SamProf ©   (12.08.06 16:44)

AttachThreadInput + GetFocus.


 
SamProf ©   (2006-08-12 16:57) [2]

Вообще проблема такая - мне нада отправить месагу о нажатии клавиши активному объекту - я так понимаю нада найти хандл + SendMessage?


 
Джо ©   (2006-08-12 16:58) [3]

Можно вот так:

var
ThreadId: THandle;
GuiThreadInfo: tagGUITHREADINFO;
Txt: array [0..1024] of Char;
begin
ThreadId := GetWindowThreadProcessId ( Handle_Окна );
if ThreadId = 0 then
  RaiseLastOSError;

GuiThreadInfo.cbSize := SizeOf(tagGUITHREADINFO);
if not GetGUIThreadInfo  (ThreadId,GuiThreadInfo) then
  RaiseLastOSError;

 //  в GuiThreadInfo.hwndFocus хранится хэндл нужного окна (если есть).
end;



 
Zeqfreed ©   (2006-08-12 17:00) [4]

Мне больше по душе AttachThreadInput + GetFocus :)


 
Джо ©   (2006-08-12 17:02) [5]

> [3] Джо ©   (12.08.06 16:58)

Сорри, форматирование уползло :(


> [4] Zeqfreed ©   (12.08.06 17:00)
> Мне больше по душе AttachThreadInput + GetFocus :)

Дело вкуса :0)


 
begin...end ©   (2006-08-12 19:45) [6]

Странно, но вчера этот вопрос уже поднимался...

http://delphimaster.net/view/4-1155297332/


 
Джо ©   (2006-08-12 19:59) [7]

> [6] begin...end ©   (12.08.06 19:45)
> Странно, но вчера этот вопрос уже поднимался...
> http://delphimaster.net/view/4-1155297332/

Этот вопрос поднимался даже недели 3 назад:
http://delphimaster.net/view/4-1155297332/
(посты [84] и [88]).
И, вероятно, еще не раз будет "подниматься" :)


 
Ketmar ©   (2006-08-12 20:35) [8]

> [2] SamProf ©   (12.08.06 16:57)
keybd_event() не лечит разве в этом случае?



Страницы: 1 вся ветка

Текущий архив: 2006.09.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.052 c
2-1155197321
o_serg
2006-08-10 12:08
2006.09.03
редактор ListView


2-1155301379
Chort
2006-08-11 17:02
2006.09.03
Toolbar


2-1155562490
Tema
2006-08-14 17:34
2006.09.03
Помогите с условием!


2-1155627400
lex85
2006-08-15 11:36
2006.09.03
Главное меню


6-1144955552
qazwsx
2006-04-13 23:12
2006.09.03
base64_encode(pack("H*", sha1(utf8_encode($_GET[ pwd ])))))