Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2008, 15:47   #1
John_chek
Форумчанин
 
Аватар для John_chek
 
Регистрация: 24.01.2007
Сообщений: 108
По умолчанию Создание всплывающих окон

Добрый день! Подскажите, как создать всплывающее окно при загрузки проги? Ну типа, появляется окошко, а там написано "Загрузка библиотек", потом пропадает. Вот как это сделать? я пишу так: в главной форме (FStart) при onShow пишу Form1.Show, далее в модуле формы form1 пишу:
Код:
procedure TForm1.FormActivate(Sender: TObject);
begin
        SetWindowPos(handle, hwnd_TopMost, 500, 300, 392, 272, SWP_NOMOVE);
end;
Окно появляется, но текст и все, что на нем размещено нет!
Ну потом соответственно Form1.Close, окно закрывается. Вот как отобразить это все с текстом, картинкой и т.д.?
John_chek вне форума Ответить с цитированием
Старый 28.03.2008, 16:14   #2
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
Радость

На форму-заставку с закладки System вынести компонент Timer. В его свойстве Interval установить значение 5000, а в событии OnTimer написать:
Код:
Timer1.Enabled := false;
Это сделано для того, чтобы заставка была видна в период указанного времени – 5000 миллисекунд, т.е. 5 секунд.

Перейти в файл проекта, нажав Ctrl+F12 и выбрав Project1. Исходный код должен выглядеть так:

Код:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
Теперь мы внесём сюда немного изменений и код должен стать таким:

Код:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$R *.RES}

begin
  Application.Initialize;
  Form2 := TForm2.Create(Application);
  Form2.Show;
  Form2.Update;
  while Form2.Timer1.Enabled do
    Application.ProcessMessages;
  Application.CreateForm(TForm1, Form1);
  Form2.Hide;
  Form2.Free;
  Application.Run;
end.
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 28.03.2008, 16:27   #3
John_chek
Форумчанин
 
Аватар для John_chek
 
Регистрация: 24.01.2007
Сообщений: 108
По умолчанию

Ага, спасибо, все получилось!))
John_chek вне форума Ответить с цитированием
Старый 28.03.2008, 16:36   #4
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Незачто, ведь нато он и форум
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 10.11.2008, 09:33   #5
Vladya
Форумчанин
 
Аватар для Vladya
 
Регистрация: 04.11.2008
Сообщений: 360
По умолчанию

У меня тож маленькая проблемка с заставкой, написал все вроде как надо, поставил таймер а мне бьёт ошибку поготе если можно. Вот код программы:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;

type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
GroupBox1: TGroupBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
PrintDialog1: TPrintDialog;
PrinterSetupDialog1: TPrinterSetupDialog;
procedure Button1Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2, Unit3;

{$R *.dfm}

begin
Application.Initialize;
Form3 := TForm3.Create(Application);
Form3.Show;
Form3.Update;
while Form3.Timer1.Enabled do
Application.ProcessMessages;
Application.CreateForm(TForm1, Form1);
Form3.Hide;
Form3.Free;
Application.Run;
End; - Вот здесь ошибка! Почему?
procedure TForm1.Button1Click(Sender: TObject);
begin
RichEdit1.Clear;
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
Close
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if SaveDialog1.Execute then RichEdit1.Lines.SaveToFile(SaveDial og1.FileName);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
if OpenDialog1.Execute then RichEdit1.Lines.LoadFromFile(openDi alog1.FileName);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
if PrintDialog1.Execute then RichEdit1.Print('Документ 1');
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
RichEdit1.SelectAll
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
RichEdit1.ClearSelection
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
RichEdit1.Lines.SaveToFile('Быстрый документ.txt')
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
RichEdit1.Lines.LoadFromFile('Быстр ый документ.txt');
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
Form2.Showmodal
end;

end.
Мой скромненький сайт
Vladya вне форума Ответить с цитированием
Старый 10.11.2008, 09:55   #6
Vladya
Форумчанин
 
Аватар для Vladya
 
Регистрация: 04.11.2008
Сообщений: 360
По умолчанию

первая форма - главное окно программы
вторая - окно "О программе"
третье - это заставка
Мой скромненький сайт
Vladya вне форума Ответить с цитированием
Старый 10.11.2008, 10:57   #7
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Цитата:
while Form3.Timer1.Enabled do
Application.ProcessMessages;
Application.CreateForm(TForm1, Form1);
Form3.Hide;
Form3.Free;
Application.Run;
End; - Вот здесь ошибка! Почему?
Цикл While долженбыть заключен в операторские скобки
begin
end;
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 10.11.2008, 11:20   #8
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Ну и зачем же в Unit копировать содержимое из файла пректа(*.dpr)? Вот это и есть ошибка, на которую указывает компилятор.
Alter вне форума Ответить с цитированием
Старый 10.11.2008, 16:30   #10
Vladya
Форумчанин
 
Аватар для Vladya
 
Регистрация: 04.11.2008
Сообщений: 360
По умолчанию

Спасибо все более-менее работает, но заставка показываеться буквально на долю секунды и исчезает, компонент таймер ставил не помогает, а можэт просто не то делал. Помогите а? Вам это практически раз плюнуть, а мне приятно.
Мой скромненький сайт
Vladya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск окон Лубышев Общие вопросы Delphi 10 04.08.2008 09:13
Поверх окон Лубышев Помощь студентам 1 29.01.2008 13:43
Размножение окон Sergey2 Общие вопросы Delphi 35 29.01.2008 09:02
Координаты окон Лубышев Общие вопросы Delphi 6 22.01.2008 19:40
Можно ли как-нибудь изменить реакцию всплывающих менюшек на кнопки? Major Gray Общие вопросы Delphi 0 15.04.2007 01:23