Главная страница
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.012 c
1-88047
WMag
2003-03-14 23:53
2003.03.27
Коллекции данных


1-88013
АндрейБ
2003-03-13 18:05
2003.03.27
excel


7-88252
Evgeniy_k
2003-02-01 12:44
2003.03.27
Размер TaskBar a


14-88144
Supreme 2
2003-03-12 15:14
2003.03.27
Каким способом можно прославиться в школе?


1-87891
badaxe
2003-03-16 13:51
2003.03.27
Как конвертировать String в PwideChar ?