Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.11.13;
Скачать: CL | DM;

Вниз

Как вывести форму на панельке или табшите другой формы?   Найти похожие ветки 

 
Яцхен   (2010-04-30 15:56) [0]

Делаю вот так:

procedure TEmbeddedFormList.AddForm(AFormClass: TFormClass; AParent: TWinControl);
var
 AWinControl: TForm;
begin
 AWinControl := AFormClass.Create(AParent);
 AWinControl.Parent := AParent;
 //TForm(AWinControl).SendToBack;
 TForm(AWinControl).Show;
end;

не помогает...


 
Игорь Шевченко ©   (2010-04-30 16:00) [1]

InsertControl ?


 
{RASkov} ©   (2010-04-30 16:06) [2]

> [0] Яцхен   (30.04.10 15:56)

Left и Top у AWinControl выставь правильные


 
Яцхен   (2010-04-30 16:08) [3]


> {RASkov} ©

а в какой системе координат их выставлять?


> Игорь Шевченко ©

для вашего случая тоже потом нужно править координаты?


 
{RASkov} ©   (2010-04-30 16:10) [4]

> [3] Яцхен   (30.04.10 16:08)
> а в какой системе координат их выставлять?

В области нового парента.... т.е. AParent"а


 
{RASkov} ©   (2010-04-30 16:11) [5]

procedure AddForm(AFormClass: TFormClass; AParent: TWinControl);
var AWinControl: TForm;
begin
AWinControl := AFormClass.Create(AParent);
AWinControl.Parent := AParent;
AWinControl.Left:=10;
AWinControl.Top:=10;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 AddForm(TForm2, Form3.Panel1);
end;


 
Яцхен   (2010-04-30 17:12) [6]

спасибо! помогло.

Вармант, который меня устроил,выглядит вот так:

procedure AddForm(AFormClass: TFormClass; AParent: TWinControl);
var
 AWinControl: TForm;
begin
 AWinControl := AFormClass.Create(AParent);
 AWinControl.Parent := AParent;
 AWinControl.BorderStyle := bsNone;
 AWinControl.ParentFont := true;
 AWinControl.Align := alClient;
 TForm(AWinControl).Show;
end;


 
Яцхен   (2010-04-30 17:15) [7]

вернее вот так:

procedure AddForm(AFormClass: TFormClass; AParent: TWinControl);
var
 AForm: TForm;
begin
 AForm := AFormClass.Create(AParent);
 AForm.Parent := AParent;
 AForm.BorderStyle := bsNone;
 AForm.ParentFont := true;
 AForm.Align := alClient;
 AForm.Show;
end;


 
Юрий Зотов ©   (2010-04-30 19:19) [8]


> Яцхен   (30.04.10 17:15) [7]

Такой прием может оказаться не вполне безопасным. Все-таки форма предназначена не для этого, сообщения системы она обрабатыает по-своему и поэтому могут возникнуть проблемы.

Не лучше ли использовать фрейм? Он ведь как раз под такие штуки и заточен.


 
DVM ©   (2010-05-01 19:02) [9]


> Юрий Зотов ©   (30.04.10 19:19) [8]


> Не лучше ли использовать фрейм?

Имхо не лучше. Я долго использовал фреймы, в результате перешел на формы. Проблем именно с фреймами оказалось больше.


 
_Юрий ©   (2010-05-02 19:35) [10]


> DVM ©   (01.05.10 19:02) [9]

+1



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

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

Наверх




Память: 0.49 MB
Время: 0.007 c
2-1311432550
Pcrepair
2011-07-23 18:49
2011.11.13
Сервер-клиент РДП. обработка кнопки мыши


15-1310311222
Doxer
2011-07-10 19:20
2011.11.13
Уведомления о почте (как в QIP)


2-1311265628
Tim
2011-07-21 20:27
2011.11.13
вывод real числа в dbgrid


1-1273069609
Zoom
2010-05-05 18:26
2011.11.13
Почему перестает работать кнопка "Свернуть" ?


15-1310726381
Дмитрий С
2011-07-15 14:39
2011.11.13
Эх так приятно, когда...