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

Вниз

Потерять фокус   Найти похожие ветки 

 
Kns   (2007-09-03 15:28) [0]

Добрый день, помогите со сменой фокуса.
Нужно отправить приложение на задний план и сделать активным самое верхнее из окон на экране.
Делаю так

Application.MainForm.SendToBack;
h:=GetTopWindow(0);
Windows.SetFocus(h);

Приложение уходит но фокус не отдает. Почему?


 
Сергей М. ©   (2007-09-03 15:36) [1]


> Почему?
>


Вероятно потому что h = 0


 
Kns   (2007-09-03 15:42) [2]

Нет. H<>0.
вообще опытным путемя выяснил что вместо
Windows.SetFocus(h);
нужно использовать
SetForegroundWindow(h);
Тогда фокус уходит но кому отдается не видно.
Я предпологаю что GetTopWindow(0) возвращает хендл невидмого окна.


 
Сергей М. ©   (2007-09-03 15:49) [3]


> опытным путемя выяснил что вместо
> Windows.SetFocus


И зачем эспериментировать, если логика работы обеих ф-ций описана в справке ?


> предпологаю что GetTopWindow(0) возвращает хендл невидмого
> окна


Это вряд ли)


 
Kns   (2007-09-03 16:03) [4]

Ну насчет SetFocus ошибся не обратил внимания, что в MSDN сказано
The window must be attached to the calling thread"s message queue.
А в остальном вопрос тотже.


h:=GetTopWindow(0);
if h<>0 then
 begin
 Application.MainForm.SendToBack;
 SetForegroundWindow(h);
 end;

Не активирует приложение лежащее сверх.


 
Сергей М. ©   (2007-09-03 16:14) [5]

Возьми на вооружение SpyXX и посмотри что это за окно h


 
Lacmus ©   (2007-09-03 16:39) [6]

>Kns   (03.09.07 15:28)  

Application.Minimize ?



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
15-1207050398
Ega23
2008-04-01 15:46
2008.05.18
Блин... :(


8-1179987008
NewZ
2007-05-24 10:10
2008.05.18
Формат *.wav файла. Как разрезать *.wav файл?


2-1208929981
Джек874585
2008-04-23 09:53
2008.05.18
Юникод в Delphi


11-1188313814
Demt
2007-08-28 19:10
2008.05.18
Динамическое создание PopupMenu


3-1197297073
Fregl
2007-12-10 17:31
2008.05.18
Ошибка добавления lookup поля в TADOTable