Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.05.2010, 22:33
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
Сообщение 2 вопроса новечка

В дельфи я новичёк и у меня 2 вопроса. Как сделать форму с 5-ю табами и на первом табе создать 3 кнопки по нажатию на которые открывались другие формы(не одна форма на 3 кнопки)
Ответить с цитированием
  #2  
Старый 10.05.2010, 23:26
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,035
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Создаешь 3 новых формы. Их имена будут Form2, Form3 и Form4. Переключаешься на первую форму. На ней кладешь PageControl (палитра Win32), на нем правой кнопкой мыши и добавляешь странички. потом переключаешься на первую и кидаешь 3 кнопки. На каждой кнопке дабл-клик и в обработчике пишешь что-то типа Form2.Show (это для первой конпки, для авторой соотв. Form3 и для третьей Form4). Потом идешь в меню delphi: File->Use usnit и в диалоге выбираешь все показанные формы (2, 3 и 4), жмешь ОК.
Если все сделал правильно, то программа соберется и при клике на каждую кнопку будет открывать свою формочку.
Ответить с цитированием
  #3  
Старый 11.05.2010, 10:16
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию

Цитата:
На каждой кнопке дабл-клик и в обработчике пишешь что-то типа Form2.Show (это для первой конпки, для авторой соотв. Form3 и для третьей Form4).
Здесь можно поподробней, дабл-клик его как добавлять? И как в обработчеке правельно поставить Form2.Show для первой кнопки?

Пытался зделать так, но не получилось
Код:
unit SDIMAIN;

interface

uses Windows, Classes, Graphics, Forms, Controls, Menus,
  Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, ImgList, StdActns,
  ActnList, ToolWin;

type
  TSDIAppForm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    TabSheet6: TTabSheet;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  SDIAppForm: TSDIAppForm;

implementation

uses about;

{$R *.dfm}

procedure TSDIAppForm.Button1Click(Sender: TObject);
begin
  application.createform(TForm1,Form1);
  if Form1.ShowModal=mrOk then
    begin
      //Some code
    end;
  Form1.Free;
end;

end.

Последний раз редактировалось bulldog, 11.05.2010 в 11:00.
Ответить с цитированием
  #4  
Старый 11.05.2010, 12:25
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию

получилось так
Код:
unit SDIMAIN;

interface

uses Windows, Classes, Graphics, Forms, Controls, Menus,
  Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, ImgList, StdActns,
  ActnList, ToolWin;

type
  TSDIAppForm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    TabSheet6: TTabSheet;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  SDIAppForm: TSDIAppForm;

implementation

uses about, Unit1;

{$R *.dfm}

procedure TSDIAppForm.Button1Click(Sender: TObject);
begin
  application.createform(TForm1,Form1);
  if Form1.ShowModal=mrOk then
    begin
      //Some code
    end;
  Form1.Free;
end;

end.
Но как мне по нажатию кнопки Ok закрыть (не удалить)её, что бы по возможности её открыть вновь
Ответить с цитированием
  #5  
Старый 11.05.2010, 15:08
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
Радость

тема закрыта я разобрался
Код:
unit SDIMAIN;

interface

uses Windows, Classes, Graphics, Forms, Controls, Menus,
  Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, ImgList, StdActns,
  ActnList, ToolWin;

type
  TSDIAppForm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  SDIAppForm: TSDIAppForm;

implementation

uses about, Unit1, Unit2, Unit3;

{$R *.dfm}

procedure TSDIAppForm.Button1Click(Sender: TObject);
begin
  application.createform(TForm1,Form1);
  if Form1.ShowModal=mrOk then
    begin
      //Some code
    end;
  Form1.Free;
end;

procedure TSDIAppForm.Button2Click(Sender: TObject);
begin
  application.createform(TForm2,Form2);
  if Form2.ShowModal=mrOk then
    begin
      //Some code
    end;
  Form2.Free;
end;

procedure TSDIAppForm.Button3Click(Sender: TObject);
begin
  application.createform(TForm3,Form3);
  if Form3.ShowModal=mrOk then
    begin
      //Some code
    end;
  Form3.Free;
end;
end.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:53.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter