Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

Главное окно...   Найти похожие ветки 

 
Dracula2000   (2003-05-21 10:01) [0]

Есть основная форма, при ее активизации через ShowModal вызывается форма ввода логина... Так вот вопрос: как скрыть основную форму до тех пор пока не введется логин?


 
borg   (2003-05-21 10:09) [1]

в FormCreate напиши
var MyForm:tform; MyEdit:Tedit; MyButton:TButton;
begin
MyForm := TForm.Create(Application);
myform.Top:=form1.Top+100;
myform.left:=form1.left+100;
myform.Caption:="Пароль";
MyForm.Height:=80;
MyForm.Width:=300;
MyForm.AutoSize:=true;
MyForm.BorderWidth:=7;
Myedit:=tedit.Create(self);
MyEdit.parent:=MyForm;
MyEdit.MaxLength:=10;
MyEdit.PasswordChar:="*";
MyButton:=TButton.Create(self);
MyButton.Parent:=MyForm;
MyButton.ModalResult:=mrOk;
MyButton.Caption:="Ввод";
MyButton.Left:=MyEdit.Left+140;
MyForm.Showmodal;
if MyButton.ModalResult=mrok then
if MyEdit.Text=parol then showmessage("Parol true") else exit;


 
Skier ©   (2003-05-21 10:13) [2]

>borg (21.05.03 10:09)
И зачем это ?
Не проще ли просто создать форму ввода пароля уже настроенную
(интерфейс) в design-time ?


 
Dracula2000   (2003-05-21 10:20) [3]

Я наверное не слишком понятно выразился...
При запуске Application - надо скрыть MainForm и показать форму логина, а после успешной авторизации - убрать форму логина и показать MainForm...

Обе формы создаются в design-time!!!


 
Юрий Зотов ©   (2003-05-21 10:23) [4]

Совершенно верно, форму логина гораздо проще спроектировать в design-time. А потом сделать возможность завершения программы БЕЗ мелькания главной формы, если юзер нажал "отмена". Для этого убираем форму логина из AutoCreate и слегка меняем DPR:

begin
Application.Initialize;
with TLoginForm.Create(nil) do
try
if ShowModal <> mrOK then Exit
finally
Free
end;
Application.CreateForm(TForm1, Form1);
Application.Run
end.


 
Skier ©   (2003-05-21 10:23) [5]

http://delphimaster.net/view/1-1053419989/


 
Bel ©   (2003-05-21 10:25) [6]

Попробуй вызов формы ввода пароля сделать в OnCreate основной формы.


 
paxer   (2003-05-21 10:25) [7]

Пример кода в dpr:
Application.Initialize;
Application.CreateForm(TfmChooseBasePath, fmChooseBasePath);
//Будем выбирать пока не законектимся или не откажемся
While not MyDb.DataBase1.Connected do begin
res:=fmChooseBasePath.ShowModal();
If res=mrCancel Then begin
fmChooseBasePath.Free();
Halt;
end;
end;
fmChooseBasePath.Free();
Application.CreateForm(TMainForm, MainForm);


 
Спрашивающий   (2003-05-21 10:26) [8]

Можно так
1.Кинь ее за пределы экрана Form1.Left:=-Form1.Width-10;
Ну и после ввода поставь на место
Hide не прокатит на активизации


 
Bel ©   (2003-05-21 10:26) [9]

Упс, не успел.
Юрий Зотов © (21.05.03 10:23) - самое то, что надо.


 
DesWind   (2003-05-21 10:27) [10]

А у кнопок расположеных на этой форме надо в свойстве ModalResult указать mrOk, mrCancel или какой-нить другой


 
Dracula2000   (2003-05-21 10:52) [11]

Всем спасибо! Кое-что помогло... :)



Страницы: 1 вся ветка

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
1-2974
ArtemB
2003-05-21 13:15
2003.06.02
OnMouseMove


14-3155
dim-
2003-05-13 00:46
2003.06.02
Active X Image Scan


1-2941
KAA
2003-05-20 18:08
2003.06.02
Отправить сообщение сервису


14-3152
Думкин
2003-05-15 07:06
2003.06.02
Кругозор


1-2934
Polar
2003-05-20 19:06
2003.06.02
Как сделать округление чисел? Уже достало 1.234567890Е0002!!!