Ловим получение фокуса ввода у MDI окон

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Ловим получение фокуса ввода у MDI окон

Re: Ловим получение фокуса ввода у MDI окон

Hastur » 26 окт 2007, 17:30

Спасибо Duncon! Очень помог! Как я сам не догадался покопать в сторону объекта Screen.

Re: Ловим получение фокуса ввода у MDI окон

Duncon » 25 окт 2007, 10:34

Как тебе такой варриант

Код: Выделить всё

procedure TForm1.FormCreate(Sender: TObject);
begin
  Screen.OnActiveFormChange := UpdateObjects;
end;

procedure TForm1.UpdateObjects(Sender: TObject);
begin
  if not (ActiveMDIChild = Nil) then
    if ActiveMDIChild is TForm2 then Caption := TForm2(ActiveMDIChild).Caption;
end;

Re: Ловим получение фокуса ввода у MDI окон

Hastur » 25 окт 2007, 07:17

Понимаешь мне надо отлавливать момент переключения между окнами. Мне чё создавать отдельный поток и постоянно проверять предложенное тобой свойство?

Re: Ловим получение фокуса ввода у MDI окон

Duncon » 24 окт 2007, 18:59

ActiveMDIChild не катит уже?

Ловим получение фокуса ввода у MDI окон

Hastur » 24 окт 2007, 18:15

Всем привет.
В программе есть куча MDIChild окон динамически создаваемых из dll библиотек. Никак не могу отловить момент когда одна форма теряет фокус а другая получает. Пробовал ловить сообщение WM_MDIACTIVATE через Application.OnMessage и ещё написанием обработчика на сообщение. Но я так подоозреваю (почитав MSDN) что это сообщение не прилетает главной форме...
Короче как отловить переход фокуса от одного окна к другому? Желательно всётаки отследив какоенить сообщение

Вернуться к началу