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


Автор: SlaUr 4.12.2003, 11:38
Моя программа при старте прячет form1 , убирается из диспетчера задач,
выводится в tray:

Wnd:=Application.Handle;
ShowWIndow(Wnd,SW_HIDE);
Form1.hide;
Form1.RxTrayIcon1.Show;

При нажатии иконки в трее всплывает form2 с запросом пароля ,если пароль правильный form2 прячется и показывается form1.

Проблема в следующем : при выполнении следующей комманды (из другой программы)
ShowWindow(wnd, SW_NORMAL);
form1 показывается ,т.е. ее можно показать без пароля с помощью другой программы.

Понимаю что нужно поймать сообщение на открытие формы,но не знаю какое именно. Напишите пожалуйста подробнее
Например перехват на закрытие программы :
....
private
procedure WMClose(var msg: TWMClose); message WM_CLOSE;
....
procedure TForm1.WMClose(var msg: TWMClose);
begin {выполняем что-нибудь} inherited; end;
....

Заранее спасибо за ответ.

Автор: <Spawn> 4.12.2003, 11:48
Обработай сообщение OnActivate формы

Автор: Cheba 5.12.2003, 01:15
А ти попробуй главную форму создавать только после ввода правильного пароля. Тогда просто не будет чего показывать.

Автор: SlaUr 8.12.2003, 13:54
Spawn>Обработай сообщение OnActivate формы

пожалуйста поподробней - в обработке сообщений я чайник.Например напишите хотя бы примерный код (как в моем примере "перехват на закрытие программы")

Cheba>А ти попробуй главную форму создавать только после ввода правильного пароля. Тогда просто не будет чего показывать

У меня программа после введения пароля показывается потом опять прячется в трэй.При клике по иконке в трее опять нужно ввести пароль ,если пароль правильный нужно опять показать главную форму.Мне что постоянно создавать и удалять Форму ?

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