Показать сообщение отдельно
  #1  
Старый 03.02.2011, 12:37
mikutu mikutu вне форума
Прохожий
 
Регистрация: 02.08.2010
Сообщения: 2
Репутация: 10
По умолчанию проблема при отображении окна

есть 2 формы form1 (главная) и form2 (всплывает иногда отображая инфу)

если из form2 вызвать form1 (что бы она стала активной и развернулась, так как может быть свернута или просто в панель задач или в трей)

делаю это следующим кодом
Код:
if((Form1.WindowState = wsMinimized) or (IsIconic(Application.Handle))) then ShowWindow(Application.MainForm.Handle, SW_RESTORE)
else ShowWindow(Application.MainForm.Handle, SW_SHOW);
Form1.Visible := true;

то при следущем создании окна form2 если form1 оставить развернутой и уйти в другую программу появиться и form1 и form2 сразу же (до этого все нормально работало отображая лишь form2)

form2 вызывается так (создаю форму без фокуса)
Код:
ShowWindow(form2.Handle, SW_SHOWNOACTIVATE);
form2.Visible := True;

у form2 выставлен стиль
Код:
procedure Tform2.CreateParams(var Params: TCreateParams);
begin
 inherited CreateParams (Params);
 Params.WndParent := 0;
 Params.ExStyle := Params.ExStyle OR WS_EX_TOOLWINDOW;
end;

Вопрос в общем-то как бороться с ненужным отображением form1?
Ответить с цитированием