2 формы

Тема в разделе "Delphi - FAQ", создана пользователем SaN4oS, 3 май 2009.

  1. SaN4oS

    SaN4oS Гость

    Народ,как сделать чтобы при запуске программы открывалось 2 формы,при этом чтобы одна была под другой и не была активна до тех пор,пока в активной не введёшь нужные данные
     
  2. Senset

    Senset Well-Known Member

    Регистрация:
    11 сен 2006
    Сообщения:
    136
    Симпатии:
    0
    Пред_история:
    проект запускается с form1.
    на form1 полож tbutton.

    Создаешь для form1 событие on_show и для buttona - onclick

    Теперь жги это:

    procedure TForm1.FormShow(Sender: TObject);
    begin
    form2.Show;
    form2.Enabled:=false;
    form2.Color:=clgray;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if ioresult=0 then
    begin
    form2.Enabled:=true;
    form2.Color:=clbtnface;
    end;
    end;

    после нажатия на кнопку - форма 2 станет доступной
    Примечания:
    1) смена цветов - для понта
    2) условие в баттоне - так же для понта =))
     
  3. Mun2

    Mun2 Гость

    еще неплохо бы отследить, чтобы обычным alt+f4 не закрыть вторую форму, оставив первую при enabled=FALSE;

    корректнее так:

    при активации главной формы (FMain) форму проверки (FLogin) делаем showmodal
    Код (Text):
    procedure FMain.FormActivate(Sender: TObject);
    begin
    FLogin.ShowModal;
    end;
    кнопка на второй форме с проверкой условия можем ли перейти к главной
    Код (Text):
    procedure TFLogin.TBtnLoginClick(Sender: TObject);
    begin
    if "введены нужные данные" then FLogin.Close;
    end;
    ну и на закрытие второй формы проверочка
    чтобы не могли перейти к главной форме просто закрыв окно проверочной формы
    Код (Text):
    procedure TFLogin.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    Action:=caNone;
    end;
    либо закрыть главную форму при попытке закрыть окно проверки данных
    Код (Text):
    procedure TFLogin.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    FMain.Close
    end;
     
Загрузка...

Поделиться этой страницей