Главная страница
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.031 c
1-87935
N
2003-03-17 16:17
2003.03.27
Что значит MDI форма?


3-87781
wara
2003-03-06 12:11
2003.03.27
Универсальный интерфейс


1-88050
anton_cor
2003-03-15 01:18
2003.03.27
Напечатать бланк


6-88120
КилоМег
2003-02-04 15:56
2003.03.27
Жив ли клиент ?


1-87978
TY
2003-03-18 06:49
2003.03.27
Вопросы связанные с датой и временем.