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

Вниз

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

 
BeckLee   (2006-05-18 14:40) [0]

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


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

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

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


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


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

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


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

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


 
Leonid Troyanovsky ©   (2006-05-18 18:54) [4]


> BeckLee   (18.05.06 14:40)  

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


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


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

--
Regards, LVT.



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

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

Наверх




Память: 0.47 MB
Время: 0.097 c
4-1142961749
Woolen
2006-03-21 20:22
2006.06.25
Определение блокировки рабочей станции


15-1149012199
Desdechado
2006-05-30 22:03
2006.06.25
Распределенные вычисления


2-1149502986
новик
2006-06-05 14:23
2006.06.25
преобрпзование типов int64 в int


4-1143489021
FunkyByte
2006-03-27 23:50
2006.06.25
Рихтер ошибся?


3-1146031721
{Set}
2006-04-26 10:08
2006.06.25
Ошибка при подключении Таблици InterBase