Минимизирование формы при запуске

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Мне необходимо при запуске приложения спрятать главную форму, но, к сожалению, это не работает. После того, как я установил в главной форме свойство 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.

{/codecitation}

Добавить комментарий