Главная страница
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.016 c
3-87781
wara
2003-03-06 12:11
2003.03.27
Универсальный интерфейс


1-87927
kofman
2003-03-14 23:31
2003.03.27
Максимальный размер ImageList


1-87899
Andrey V.
2003-03-16 19:57
2003.03.27
Как в TSpeedButtone прижать , скажем , влево caption ?


14-88229
Слесарь Матерящийся
2003-03-12 09:54
2003.03.27
Риски и угрозы для России в 2003 году


1-87901
MAXX_MAIL
2003-03-15 23:25
2003.03.27
События.