Вниз
Скачать: CL | DM;

Как програмно вставить Frame в Form?   Найти похожие ветки 

← →
BillyJeans ©   (2003-03-14 08:07) [0]

Подскажите пожалуйста, как програмно созданный Frame также програмно вставить в Form?


← →
calm ©   (2003-03-14 08:42) [1]

Точно так же, как и создание любого контрола:

MyFrame:=TMyFrame.Create(MyForm);
MyFrame.Parent:=MyForm;


← →
BillyJeans ©   (2003-03-14 09:33) [2]

а почему не работает следующее:

type

TMyFrame = class(TFrame)
public
constructor Create(AOwner: TComponent); override;
end;

TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;

var
Form1: TForm1;

implementation

constructor TMyFrame.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
end;

procedure TForm1.Button1Click(Sender: TObject);
var MyFrame: TMyFrame;
begin
MyFrame := TMyFrame.Create(Form1);
MyFrame.Parent := Form1;
end;

end.


← →
BillyJeans ©   (2003-03-14 10:44) [3]

А почему не работает следующее:

type

TMyFrame = class(TFrame)
public
constructor Create(AOwner: TComponent); override;
end;

TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

constructor TMyFrame.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
end;

procedure TForm1.Button1Click(Sender: TObject);
var MyFrame: TMyFrame;
begin
MyFrame := TMyFrame.Create(Form1);
MyFrame.Parent := Form1;
end;

end.


← →
Smithson ©   (2003-03-14 11:15) [4]

Как не работает?


← →
BillyJeans ©   (2003-03-14 11:29) [5]

Ругается: Resource TMyFrame not found.


← →
Smithson ©   (2003-03-14 11:38) [6]

Ругается компилятор или после запуска?
TMyFrame - визуальный компонент? То есть, в режиме проектирования он у тебя есть?


← →
BillyJeans ©   (2003-03-14 11:52) [7]

При проектировании его нет, создаю его runtime...
причем, если меняю на

procedure TForm1.Button1Click(Sender: TObject);
var MyFrame: TFrame;
begin
MyFrame := TFrame.Create(Form1);
MyFrame.Parent := Form1;
end;

то все работает :(


← →
icWasya ©   (2003-03-14 12:23) [8]


> При проектировании его нет, создаю его runtime...


TMyFrame.Create в runtime использовать можно, но TMyFrame уже должен быть спроектирован в дизайн-режиме по всем правилам - должен быть отдельный модуль, этот модуль должен быть подключён к проекту и т д


← →
BillyJeans ©   (2003-03-14 13:29) [9]

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


← →
icWasya ©   (2003-03-14 14:30) [10]

а зачем именно TFrame??


← →
BillyJeans ©   (2003-03-14 14:47) [11]

ну вот надо мне так, что теперь...


← →
Владислав ©   (2003-03-14 15:18) [12]

Ну так создай свой фрэйм в дезайн тайме!


← →
BillyJeans ©   (2003-03-14 15:32) [13]

в дезайн тайме дурак не сделает...


← →
Smithson ©   (2003-03-14 15:39) [14]

TPanel


← →
Smithson ©   (2003-03-14 15:40) [15]

Tframe весьма специфичный объект, не стоит с ним связываться помимо дизайнтайма.


← →
icWasya ©   (2003-03-14 16:09) [16]

>ну вот надо мне так
так по подробнее расскажи,
для чего это может понадобится



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.013 c
14-88137
malkolinge
2003-03-12 18:24
2003.03.27
Как подписаться на фидошную конференцию ?


3-87875
Oleg(tm)
2003-03-09 19:23
2003.03.27
Как получить через ADO результаты работы триггера?


3-87840
Opryshok
2003-03-10 10:04
2003.03.27
не могу залоковать таблички


3-87810
Солер
2003-03-08 18:02
2003.03.27
Не работает фильтр


1-88018
xGrey
2003-03-14 10:27
2003.03.27
Drag and Drop в TTreeView: отсутствие скроллинга.




   Наверх