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