Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.27;
Скачать: 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 вся ветка

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

Наверх




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


1-88066
NKiril
2003-03-15 01:20
2003.03.27
Как програмно (OLE) выделить в Word-е жирным нужные символы?


14-88209
War
2003-03-11 10:37
2003.03.27
Война за нефть.


3-87802
stoper
2003-03-07 19:15
2003.03.27
Не могу внести отрицательное значение.


1-87906
TY
2003-03-17 02:28
2003.03.27
Как добавить в PopupMenu линию разделитель между пунктами