Главная страница
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
11-1239646702
imp
2009-04-13 22:18
2011.11.13
Проблема с событием OnPaint в TKOLMemo


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


4-1251951251
imp
2009-09-03 08:14
2011.11.13
Обработка сообщений от дочерних контролов


15-1307197263
Sergey Masloff
2011-06-04 18:21
2011.11.13
Привет из солнечного Крыма


15-1310462085
PreDatoR
2011-07-12 13:14
2011.11.13
Что нужно для изучения ассемблера