Главная страница
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.026 c
2-1189148703
PIG
2007-09-07 11:05
2007.10.07
Глюк с массивом PCHAR


15-1188898391
autokont
2007-09-04 13:33
2007.10.07
права пользователя


15-1189059162
boriskb
2007-09-06 10:12
2007.10.07
Чой то это... непонятно


15-1189158558
Сергей2006
2007-09-07 13:49
2007.10.07
unable to locate hyperlink в Help Insight


2-1189359041
user1024
2007-09-09 21:30
2007.10.07
Проблема со шрифтами в TWebBrowser