![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вывести форму на панельке или табшите другой формы? [D7]
Яцхен © (2010-04-30 15:56:00)Делаю вот так:
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-05-02 19:35:00) [1]
> DVM © (01.05.10 19:02) [9]
+1
DVM (2010-05-01 19:02:00) [2]
> Юрий Зотов © (30.04.10 19:19) [8]
> Не лучше ли использовать фрейм?
Имхо не лучше. Я долго использовал фреймы, в результате перешел на формы. Проблем именно с фреймами оказалось больше.
Юрий Зотов (2010-04-30 19:19:00) [3]
> Яцхен (30.04.10 17:15) [7]
Такой прием может оказаться не вполне безопасным. Все-таки форма предназначена не для этого, сообщения системы она обрабатыает по-своему и поэтому могут возникнуть проблемы.
Не лучше ли использовать фрейм? Он ведь как раз под такие штуки и заточен.
Яцхен (2010-04-30 17:15:00) [4]вернее вот так:
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 17:12:00) [5]спасибо! помогло.
Вармант, который меня устроил,выглядит вот так:
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;
{RASkov} (2010-04-30 16:11:00) [6]
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;
{RASkov} (2010-04-30 16:10:00) [7]> [3] Яцхен (30.04.10 16:08)
> а в какой системе координат их выставлять?
В области нового парента.... т.е. AParent'а
Яцхен (2010-04-30 16:08:00) [8]
> {RASkov} ©
а в какой системе координат их выставлять?
> Игорь Шевченко ©
для вашего случая тоже потом нужно править координаты?
{RASkov} (2010-04-30 16:06:00) [9]> [0] Яцхен (30.04.10 15:56)
Left и Top у AWinControl выставь правильные
Игорь Шевченко (2010-04-30 16:00:00) [10]InsertControl ?