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

Вниз

GetParent   Найти похожие ветки 

 
Степан Журавлев   (2007-04-05 13:49) [0]

Привет, есть проект с двумя формочками, одна встроенна в другую через SetParent.

procedure TForm2.FormShow(Sender: TObject);
begin
 Windows.SetParent(Handle,Form1.handle);
end;


А вот для этой встроенной формочки GetParent почемуто возвращает 0 :(

procedure TForm2.Button1Click(Sender: TObject);
begin
 ShowMessage(IntToStr(Windows.t(Handle)));
end;


Кто знает в чем дело?


 
Степан Журавлев   (2007-04-05 14:05) [1]

сорри, правильно так...
procedure TForm2.Button1Click(Sender: TObject);
begin
 ShowMessage(IntToStr(Windows.GetParent(Handle)));
end;


 
IceBeerg ©   (2007-04-05 18:32) [2]

А просто ShowMessage(IntToStr(Form2.GetPalette)); пробовал?


 
Leonid Troyanovsky ©   (2007-04-05 23:13) [3]


> Степан Журавлев   (05.04.07 13:49)  

> Привет, есть проект с двумя формочками, одна встроенна в
> другую через SetParent.

Не надо ничего такого строить.
Особливо в здешней конфренции.
Ведь не даром TFrame придуман.

--
Regards, LVT.


 
Степан Журавлев   (2007-04-09 14:05) [4]


> Leonid Troyanovsky ©   (05.04.07 23:13) [3]


Фро фрейм вкурсе, для конкретной задачи не подходит.
По теме есть что?


 
Leonid Troyanovsky ©   (2007-04-09 15:37) [5]


> Степан Журавлев   (09.04.07 14:05) [4]

> По теме есть что?

Тебе ж объяснили, что:
1. дельфийские формы для этого не предназначены
2. тема эта не для здешней конференции, а "начинающим"

--
Regards, LVT.


 
Игорь Шевченко ©   (2007-04-09 15:54) [6]


> Привет, есть проект с двумя формочками, одна встроенна в
> другую через SetParent.


Как ты понимаешь, через SetParent можно встраивать только окна, имеющие стиль WS_CHILD, у форм его по умолчанию нет.

Если очень хочется, то делай так

{
  Модуль: Child

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

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

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

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

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
 Dialogs;

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

{$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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.021 c
15-1189531719
TStas
2007-09-11 21:28
2007.10.07
Как же бороться с брандмауэром?


2-1189407438
AndrewK
2007-09-10 10:57
2007.10.07
Как обратиться к родителю


15-1189357149
anton773
2007-09-09 20:59
2007.10.07
почему дата отображается полностью


2-1189256260
МаксПла
2007-09-08 16:57
2007.10.07
Откат в сохранении настроек


3-1180925040
Slider007
2007-06-04 06:44
2007.10.07
Даты в хранимых процедурах (FireBird 1.5)