Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2011.11.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
Яцхен   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
15-1310671161
R_R
2011-07-14 23:19
2011.11.13
Программа-клиент не "видит" сервер...


9-1189865512
andreil
2007-09-15 18:11
2011.11.13
Вопрос по вращению в OpenGl


2-1311252544
petka
2011-07-21 16:49
2011.11.13
Инициализация записей в массиве


2-1311147342
xtd
2011-07-20 11:35
2011.11.13
Ускорить отсчет времени указанному приложению


1-1272500252
SPeller
2010-04-29 04:17
2011.11.13
Можно ли проверить указатель на корректность?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский