Форум: "Основная";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];
ВнизГлавное окно... Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c