Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.013 c
1-2967
Tatiana
2003-05-16 13:25
2003.06.02
SaveDialog


3-2749
Dim!S
2003-05-13 09:03
2003.06.02
Выборка с уточнением даты


14-3070
Style
2003-05-15 22:57
2003.06.02
PAS 2 HTML


1-2854
Pavor
2003-05-21 07:42
2003.06.02
Странности Application.Terminate (или может мои? :)


1-2984
Calm
2003-05-21 14:48
2003.06.02
Создание COM-объекта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский