Главная страница
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.47 MB
Время: 0.012 c
2-1217182944
lavgirls
2008-07-27 22:22
2008.09.07
почему в консольном приложении русские буквы выводятся абракадабр


2-1217258154
lavgirls
2008-07-28 19:15
2008.09.07
Выравнивание текста


2-1217413081
Alexey
2008-07-30 14:18
2008.09.07
Переименование файла


2-1215238577
Владимир
2008-07-05 10:16
2008.09.07
Работа с ADOQuery


4-1196072040
mabia
2007-11-26 13:14
2008.09.07
Доступ к папке