→ Для вступления в общество новичков и профессионалов программирования, пожалуйста нажмите здесь ...

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Arjata 
Автор Сообщение
Начинающий

Регистрация: 07.12.2010
Сообщения: 4
Языки:
Специальность:

Репутация: 0 [ ? ]
Сообщение Arjata
Помогите с задачкой плиз!
Создать программу состоящую из 2 Форм. На первой форме расположены 2 кнопки "Модальное окно" и "Не модальное окно". При нажатию на первую кнопку создается 2 Форма, как модальное окно, при нажатии на вторую создается как не модальное окно.

Дополнительная информация
В начале создаем дополнительную форму(Файл -> Создать Форму). Убираем ее из автозагрузки (Проект-Настройки проекта-Формы).
Что бы можно было обращаться ко второй форме необходимо добавить в раздел uses главной формы Unit2 второй формы.
Для показа и активизации форм необходимо вызвать одну из методов — Show(показать как не модальное окно) или ShowModal(показать как модальное окно).
Перед тем как вызвать Create у формы убедитесь, что она закрыта, иначе закройте ее.


17.12.2010 11:56
Профиль Отправить email
Начинающий

Регистрация: 07.12.2010
Сообщения: 4
Языки:
Специальность:

Репутация: 0 [ ? ]
Сообщение Re: Arjata
Неужели не кто не хочет помочь?

Добавлено спустя 1 час 11 минут 48 секунд:
Unit1:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls,Unit2;

type

{ TForm1 }

TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
b:boolean;
{ public declarations }
end;

var
Form1: TForm1;
f:TForm2;

implementation

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin
if b then f.close;
f:=TForm2.Create(self);
f.Showmodal;
b:=true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if b then f.close;
f:=TForm2.Create(self);
f.Show;
b:=true;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Close();
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
b:=false;
end;

initialization
{$I Unit1.lrs}

end.

Unit 2:
unit Unit2;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs;

type
TForm2 = class(TForm)
procedure FormClose(Sender:TObject; var CloseAction:TCloseAction);
procedure FormCreate(Sender:TObject);
private
{ private declarations }
public
{ public declarations }
end;

var
Form2: TForm2;

implementation
uses unit1;

procedure TForm2.FormClose(sender:Tobject; var closeaction:Tcloseaction);
begin
Form1.b:=false;
end;

procedure TForm2.FormCreate(Sender:TObject);
begin
end;

initialization
{$I Unit2.lrs}

end.


18.12.2010 16:40
Профиль Отправить email
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 


Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
© 2013 «Форум программистов Украины»