Главная страница
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.008 c
15-1310634127
Empleado
2011-07-14 13:02
2011.11.13
Design DB tables "exclusive OR"


15-1310660066
R_R
2011-07-14 20:14
2011.11.13
Услуга VPS windows


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


2-1311114807
alexdn
2011-07-20 02:33
2011.11.13
Снять координаты курсора


2-1311579988
arturich
2011-07-25 11:46
2011.11.13
Цвет поля в DevExpress cxGrid