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

Вниз

Использовать TForm как TFrame   Найти похожие ветки 

 
Jolik ©   (2008-07-29 01:06) [0]

Здравствуйте!

Требуется использовать TForm как TFrame.
Видел в инете пример (тока не могу теперь начти :) )
Создаю динамически FIntForm : TForm и кидаю его на также динамически создаваемые TabSheet : TTabSheet  :

 FIntForm.Parent := TabSheet;
 FIntForm.Align := alClient;

Естественно делаю FIntForm.BorderStyle := bsNone;

Вопрос: какие неприятности меня могут здесь предостерегать?
Имеется ввиду не совсем, как мне кажется, корректое использование TForm.

Спасибо!


 
KilkennyCat ©   (2008-07-29 01:13) [1]

Телескопом колоть дырки,
Гвозди микроскопом гнуть,
Дайте в руки мясорубку -
Все заклеют и зальют...
http://www.delphimaster.ru/articles/frames/index.html


 
DrPass ©   (2008-07-29 10:07) [2]


> Вопрос: какие неприятности меня могут здесь предостерегать?
>
> Имеется ввиду не совсем, как мне кажется, корректое использование
> TForm

Никаких. Используй на здоровье, это их штатная функция. Фрейм в Delphi - вообще довольно сомнительное явление


 
Игорь Шевченко ©   (2008-07-29 12:24) [3]

{
  Модуль: Child

  Описание: Базовый класс для форм, которые могут отображаться как независимые
            модальные или немодальные формы, а также быть дочерними окнами
            в любом другом окне.

  Авторы: Стив Тейксейра, Ксавье Пачеко (Delphi 5 Руководство разработчика,
          том 1, стр. 170).

  Дата создания: 16.12.2002

  История изменений:
}
unit Child;

interface
uses
 Classes, Controls, Forms;

type
 TfAbstractChild = class(TForm)
 private
   FAsChild: Boolean;
   FTempParent: TWinControl;
 protected
   procedure CreateParams (var Params: TCreateParams); override;
   procedure Loaded; override;
 public
   constructor Create (AOwner: TComponent); overload; override;
   constructor Create (AOwner: TComponent; AParent: TWinControl);
     reintroduce; overload;
 end;

implementation
uses
 Windows;

{$R *.dfm}

constructor TfAbstractChild.Create (AOwner: TComponent);
begin
 FAsChild := false;
 inherited;
end;

constructor TfAbstractChild.Create (AOwner: TComponent; AParent: TWinControl);
begin
 FAsChild := true;
 FTempParent := AParent;
 inherited Create (AOwner);
end;

procedure TfAbstractChild.CreateParams (var Params: TCreateParams);
begin
 inherited;
 if FAsChild then
   Params.Style := Params.Style or WS_CHILD;
end;

procedure TfAbstractChild.Loaded;
begin
 inherited;
 if FAsChild then begin
   Align := alClient;
   BorderStyle := bsNone;
   BorderIcons := [];
   Parent := FTempParent;
   Position := poDefault;
 end;
end;

end.


Используй



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
4-1195906942
DeBUGger13
2007-11-24 15:22
2008.09.07
ИК-порт


2-1217423928
ZLO
2008-07-30 17:18
2008.09.07
Файловые потоки NTFS


15-1216122640
denic
2008-07-15 15:50
2008.09.07
AVR + LCD


2-1217367780
Неподарок
2008-07-30 01:43
2008.09.07
Документ как книга


4-1196069609
zeleniy
2007-11-26 12:33
2008.09.07
Vista и раскладка клавиатуры