Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

FAQ - Заставка для программы

Заставка для программы

Сведения о программе, авторские права и т.д., лучше оформить в виде отдельной формы и показывать ее при запуске программы (как это сделано в Word). Сделать это не сложно:

  1. Создаете форму (например SplashForm).
  2. Объявляете ее свободной (availableForms).
  3. В Progect Source вставляете следующее (например):
    program Splashin;
    uses
            Forms,
            Main in 'MAIN.PAS',
            Splash in 'SPLASH.PAS'
    {$R *.RES}
    begin
    try
            SplashForm := TSplashForm.Create(Application);
            SplashForm.Show;
            SplashForm.Update;
            Application.CreateForm(TMainForm, MainForm);
            SplashForm.Hide;
    finally
            SplashForm.Free;
    end;
            Application.Run;
    end.

И форма SplashForm держится на экране пока выполняется Create в главной форме. Но иногда она появляется и пропадает очень быстро, поэтому нужно сделать задержку:

1. Добавляете на форму таймер с событием:

    procedure TSplashForm.Timer1Timer(Sender: TObject);
    begin
      Timer1.Enabled := False;
    end;

2. Событие onCloseQuery для формы:

    procedure TSplashForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
      CanClose := Not Timer1.Enabled;
    end;

3. И перед SplashForm.Hide; ставите цикл:

    repeat
      Application.ProcessMessages;
    until SplashForm.CloseQuery;

4. Все! Осталось установить на таймере период задержки 3-4 секунды.

5. На последок, у такой формы желательно убрать Caption:

SetWindowLong (Main.Handle,GWL_STYLE, GetWindowLong(Main.Handle, GWL_STYLE) AND NOT
WS_CAPTION OR WS_SIZEBOX);
Остальные Вопросы

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог