Как скрыть форму при старте приложения?

К сожалению при создании окна приложения ни в одном из первых событий (OnCreate, OnShow, OnActivate) нет доступа к свойству Visible. Использование функции ShowWindow с параметром SW_HIDE в OnActivate-событии решает проблему (но при этом не избежать кратковременного мерцания окна перед "исчезновением"):
procedure TForm1.OnActivate(Sender: TObject);
begin
  ShowWindow(Handle, SW_HIDE);
end;
чтобы сделать окно опять видимым необходимо вызвать ту же функцию, но уже с другим параметром:
  ShowWindow(Handle, SW_SHOW);
Если Вам лень пользовать API-функции или неприятно видеть мерцание, то есть другой, весьма интересный способ сокрыть окно приложения от любопытствующих глаз:
procedure TForm1.OnCreate(Sender: TObject);
begin
  Left := Screen.Width;
end;
Окно создается видимым, но находится за пределами экрана!



Советы начинающим