Советы по Delphi

       

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


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



Содержание раздела