Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вывод диалога после загрузки главного окна [D6, Win2k]


Андрусь ©   (2002-08-19 18:27:00) 

Привет всем! Созрел вот такой вопрос:такая задачка - при полном отображении формы главной формы после запуска программы нужно вывести диалоговое окно. Подскажите как это реализовать без использования таймера(с ним несерьёзно).
Зараннее всем большое спасибо!


Юрий Зотов   (2002-08-19 22:08:00) [1]

> А месседжа о том,что приложение готово реагировать на юзера нету?

Есть событие - см. TApplication.OnIdle. Для однократного срабатывания можно ввести логическую переменную.


Андрусь   (2002-08-19 21:01:00) [2]

Извини, MainForm.Show;просмотрел.


Mikhail   (2002-08-19 20:43:00) [3]

Да в том-то и дело, что работает - иначе бы не советовал...
Просто удивительно...


Андрусь   (2002-08-19 20:31:00) [4]

А ты попробуй сам. Форма отображается на Application.Run.


Mikhail   (2002-08-19 20:25:00) [5]

Так она и будет отображена, а поверх нее окно диалога 8(


Андрусь   (2002-08-19 20:23:00) [6]

>Mikhail ©
Ну не совсем так,надо чтобы главная форма была отображена.
>Sedunov Vitaly,-= Like =-
Что-то главная форма не успевает перерисовываться.


Mikhail   (2002-08-19 20:10:00) [7]


begin
Application.Initialize;
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TData, Data);
MainForm.Show;
if Data.DoLogin then Application.Run
else Application.Terminate;
end.

...


function TData.DoLogin: Boolean;
var
wLogonForm: TLogonForm;
begin
Result := False;
wLogonForm := TLogonForm.Create(nil);
if wLogonForm.ShowModal = 1 then
try
....
except
....
Result := DoLogin;
end;
end;



Так что-ли?


Андрусь   (2002-08-19 19:40:00) [8]

А месседжа о том,что приложение готово реагировать на юзера нету?


-= Like =-   (2002-08-19 18:52:00) [9]

Нужно обрабатывать свойство формы OnActivate. Помести туда свой код.


Sedunov Vitaly   (2002-08-19 18:50:00) [10]

Вариант навскидку: в OnCreate - создаешь переменную Show, присваиваешь True. В OnActivate if Show then <Dialog>.После показа диалога Show:=False.


Наверх

Титульная страница Поиск, карта сайта Написать письмо