Минимизирование формы при запуске
Мне необходимо при запуске приложения спрятать главную форму, но, к сожалению, это не работает.
После того, как я установил в главной форме свойство WindowState в wsMinimized и запустил ее,
форма свернулась на рабочем столе Win95 вместо положенной панели задач.
Кто-нибудь знает как решить эту проблему?
Была одна статья по этому поводу в Delphi Magazine, Issue 19, март 1997, которая объясняла эту проблему.
Вот мой переработанный вариант обхода ошибки:
unit Foobar; interface type TfrmFoobar = class(TForm);
procedure DoRestore(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation procedure TfrmUVChannel.FormCreate(Sender: TObject); begin //Устанавливаем временный обработчик события восстановления формы приложения
Application.OnRestore := DoRestore;
Application.Minimize;
end;procedure TfrmFoobar.DoRestore(Sender: TObject); begin Application.ShowMainForm := True;
//Восстанавливаем приложение
Perform(wm_SysCommand, sc_Restore, 0);
//Гарантируем правильную перерисовку всех компонентов
Show;
//Убираем временного обработчика события чтобы не вызывался в будущем
Application.OnRestore := nil;
end;initialization //Здесь прячем минимизированную главную форму
Application.ShowMainForm := False;
end. |
[000271]