Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не возвращается фокус [D7, WinXP]


BeckLee ©   (2006-05-18 14:40:00) 

Есть форма, при нажатии кнопки создаю вторую, не модально. Только есть условие, первая форма так и должна быть активной. Фокус должен передавать второй только когда на нее щелснут мышью.
Делаю GetforegroundWindow(Первая форма), а после отображения второй ЫуеforegroundWindow(Первая форма). Но после этого вторая форма отказывается вообще что-то воспринимать. Поведение аналогично Enabled=False
Подскажите, может все это нужно как-то по другому делать?


Leonid Troyanovsky   (2006-05-18 18:54:00) [1]


> BeckLee   (18.05.06 14:40)  

> Есть форма, при нажатии кнопки создаю вторую, не модально.
>  Только есть условие, первая форма так и должна быть активной.
>  Фокус должен передавать второй только когда на нее щелснут


procedure TFormX.ShowNA;
begin
 ShowWindow(Handle, SW_SHOWNA);
 Visible := True;
end;


Т.е., создается как обычно, а затем ShowNA.

--
Regards, LVT.


BeckLee   (2006-05-18 16:49:00) [2]

Может кто разбирался с флагами SetWindowPos? Может быть она сможет помочь?


BeckLee   (2006-05-18 16:17:00) [3]

Виноват, не совсем корректно сформулировал вопрос:
Ситуация такая - форма2 - всплывающее окно, и задача состоит в том, чтобы оно показавшись не переключило пользователя с его текущей задачи, а повисело себе и закрылось. Так как делаю я работает, но вспл. окно после потери фокуса почему-то блокируется.


Savek   (2006-05-18 15:37:00) [4]

По моему проще не куда

TForm1.Button1Oclick ...
begin
  Form2.Show; //показываем
  Form1.SetFocus; // возвращаем фокус
end;


Или я не понял проблему?


Наверх

Титульная страница Поиск, карта сайта Написать письмо