Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Картинка при запуске


Автор: Rolly 18.5.2005, 12:37
Всем здрасти !!! У меня такой вопрос как мне сделать, чтобы при запуске моей программы у меня сначала грузилась картинка, потом программа ! Ну только конечно же после запуска программы картинка исчезает !! Вроде ясно объяснил !
Заранее спасибо.

Автор: Joes 18.5.2005, 12:49
Типа как в Ворде при загрузке?????

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);

Автор: Medved 18.5.2005, 13:00
see \Program Files\Borland\Delphi\Demos\Db\MastApp\mastapp.dpr

Автор: Rolly 18.5.2005, 17:15
Пасибо большое !

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)