Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.03;
Скачать: CL | DM;

Вниз

Как вставить одну форму в другую ?   Найти похожие ветки 

 
ЮРИЙ_К ©   (2003-03-21 14:32) [0]

Подскажите, магистры, как вызвать из главной формы другую, чтобы она открылась на панели , находящейся в главной форме, как все-равно это не форма..., т.е. она влилась в главную без своего капшена???


 
stone ©   (2003-03-21 14:50) [1]

Есть такое свойство - Parent


 
ЮРИЙ_К ©   (2003-03-21 14:56) [2]

Ну слыхал, а в какое место его прилепить?
MainForm.Button1Click
???
Form1 := TForm1.Create(????)
Form1Show;
/..
...
???


 
Silver_   (2003-03-21 15:02) [3]

а Фрейм тебя не устроит


 
Leran2002 ©   (2003-03-21 15:11) [4]

Еще есть TNotebook - просто и сердито... :))


 
ЮРИЙ_К ©   (2003-03-24 09:58) [5]

> Leran2002
Это все хорошо. Только задача заключается в том, что-бы показать форму а на ней программно формируются Edit1, Label и т.д. Сколько - не известно. Не знаю как их потом убирать, шоб повторно нажав на формирование - заново их нарисовать. А вызвав отдельную форму, меня-бы устроило, только вклеить ее нужно красиво


 
rdm ©   (2003-03-24 10:00) [6]

Можно ActiveX юзать, но геморно будет.
Лучше используй фреймы


 
ggsoft ©   (2003-03-24 11:44) [7]

В Unit1: TForm1, на форме панель Panel1


unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm2 = class(TForm)
Panel1: TPanel;
Button1: TButton;
protected
procedure Loaded; override;
procedure CreateParams(var Params: TCreateParams); override;
end;

var
Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

{ TForm2 }

procedure TForm2.CreateParams(var Params: TCreateParams);
begin
Params.Style := WS_BORDER or WS_VISIBLE or WS_CHILD;
inherited CreateParams(Params);
end;

procedure TForm2.Loaded;
begin
inherited Loaded;
BorderIcons := [];
BorderStyle := bsNone;
Parent := Form1.Panel1;
Visible := True;
Align := alClient;
end;


 
icWasya ©   (2003-03-24 12:08) [8]


> > Leran2002
> Это все хорошо. Только задача заключается в том, что-бы
> показать форму а на ней программно формируются Edit1, Label
> и т.д. Сколько - не известно. Не знаю как их потом убирать,
> шоб повторно нажав на формирование - заново их нарисовать.
> А вызвав отдельную форму, меня-бы устроило, только вклеить
> ее нужно красиво


ну так создавай не форму, а панель


Procedure TMainform.CreatePanel_1;
begin
//вместо многоточия поставь то чтто нужно
with TButton.Create( Self.MainPanel) do
Left:=...
Width:=...
Name:=...
Caption:=...
Parent:=Self.MainPanel; end;
with TEdit.Create( Self.MainPanel) do
Left:=...
Width:=...
Text:=...
Name:=...
Parent:=Self.MainPanel;
end;
...
end;

Procedure TMainform.DestroyPanel;
var I:Integer;
begin
while Self.MainPanel.ComponentCount>0 do
Self.MainPanel.Components[0].Free;
end;
end;


 
ЮРИЙ_К ©   (2003-03-24 16:20) [9]

Вроде способ нашел, да не вроде, а нашел, теперь перестали формироваться компоненты TEdit (см. HELP! перестало работать два в одном) Не пойму где грабли



Страницы: 1 вся ветка

Текущий архив: 2003.04.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
14-6792
Мазут Береговой
2003-03-18 01:35
2003.04.03
Что такое 86 smopuim?


1-6448
Chlavik
2003-03-20 22:25
2003.04.03
Handle главного окна проги....


3-6308
Veronika
2003-03-17 10:04
2003.04.03
защита от копирования листа в Excel


3-6380
kaif
2003-03-12 11:25
2003.04.03
Как максимально быстро и необратимо удалить БД ?


1-6431
SZap
2003-03-23 15:55
2003.04.03
Перехват нажатий клавиши дополнительной клавиатуры