Главная страницаОбратная связьКарта сайта

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

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


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Минимизирование формы при запуске", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info