![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вернуть фокус окну приложения?
Solver © (2002-06-06 06:38:00)Обрабатываю WM_KILLFOCUS ...
Application.Restore
Application.BringToFront
SetFocus
SetForegroundWindow(...)
SetActiveWindow(...)
SendMessage(...WM_SETFOCUS...)
Всё выше перечисленное не помогает!
Игорь Шевченко (2002-06-06 16:18:00) [1]А для главного окна надо не WM_KILLFOCUS, а WM_ACTIVATEAPP
Solver (2002-06-06 16:14:00) [2]Ноль реакции для главного окна...
Игорь Шевченко (2002-06-06 15:44:00) [3]procedure TForm2.WMKillFocus(var Message: TWMKillFocus);
begin
Message.Result := 0;
SetActiveWindow(Handle);
end;
Solver (2002-06-06 15:34:00) [4]Я даже в вершину очереди "вставлял" сообщение.
2Игорь Шевченко Не работает.
Игорь Шевченко (2002-06-06 15:30:00) [5]MSG.Result := 0
Solver (2002-06-06 15:26:00) [6]type
TForm1 = class(TForm)
private
Procedure DetKillFocus(var MSG : TMessage ) ; message WM_KillFocus ;
...
procedure TForm1.DetKillFocus(var MSG: TMessage);
begin
SetForegroundWindow(Form1.Handle) ;
// Application.Restore ;
// Application.BringToFront ;
PostMessage(Handle,Wm_SetFocus,0,0) ;
end;
end.
Игорь Шевченко (2002-06-06 15:19:00) [7]А код ваш поглядеть можно ?
Solver (2002-06-06 15:17:00) [8]тоже, я же писал!
Song (2002-06-06 15:06:00) [9]А Form1.SetFocus ?
Solver (2002-06-06 14:59:00) [10]2Song PostMessage(Form1.Handle,WM_SETFOCUS,0,0) - не работает, так понятней?
Song (2002-06-06 14:56:00) [11]Фокус может иметь форма или любой объект на ней. Так понятней ?
Вы думаете HWND имеет только Application ?
Solver (2002-06-06 14:53:00) [12]2Song своему
2esVer Так я тоже так думал. Но если с определённым интервалом посылать, не обрабатывая WM_KILLFOCUS - тоже нет эффекта!
esVer (2002-06-06 14:50:00) [13]Если не ошибаюсь, WM_KILLFOCUS посылается окну ДО того, как оно потеряет фокус. Т.е. как бы предупреждение, а потому и не работает.
Song (2002-06-06 14:43:00) [14]Дык чужому приложению что ли ?
Solver (2002-06-06 14:40:00) [15]Я и не посылаю на Application, посылаю на по HWND главной формы - не работает!
Song (2002-06-06 08:41:00) [16]Пошлите WM_SETFOCUS не на Application а на MainForm