Форум: "WinAPI";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.126 c