Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
15-1189094106
Ezorcist
2007-09-06 19:55
2007.10.07
portable delphi?


1-1185519227
wsv
2007-07-27 10:53
2007.10.07
Ошибка UnixToDateTime


10-1137864342
avseal
2006-01-21 20:25
2007.10.07
работа с OLEContainerом


2-1188712738
ПРОФан
2007-09-02 09:58
2007.10.07
Нажатие F6


2-1189081170
voe
2007-09-06 16:19
2007.10.07
Цикл пока недостикнит конца запроса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский