есть 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?