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

Вниз

Подмена хэндла   Найти похожие ветки 

 
Still Swamp   (2005-05-30 16:22) [0]

Есть некий Form:ТForm c набором компонент и прочего. Хочется что бы это все отображалось на некой Panel:TPanel. Можно ли это сделать?


 
Гаврила ©   (2005-05-30 16:27) [1]

Можно
присвой форме соотв. parent
Form1.Parent:=PaneL1


 
Still Swamp   (2005-05-30 16:32) [2]

Не... ему не нравится.
Форма если имела Show пропадает (естно) но на нужном контроле не появляется ничего.


 
evvcom ©   (2005-05-30 16:37) [3]


> Хочется что бы это все отображалось на некой Panel

А панель где? Используй TFrame.


 
Гаврила ©   (2005-05-30 16:41) [4]

Я так делал ,все работало
во первых, присвоение parent до Show
во вторых, show после присвоения Parent
в третиих - координаты формы (Left, Top) - теперь относительно панели ,а не Десктопа


 
easy ©   (2005-05-30 18:46) [5]

windows.SetParent(form.Handle,panel.Handle);


 
Still Swamp   (2005-05-31 12:19) [6]

Ок. Теперь теперь другая грабля:
DLLForm:TForm мой описан в DLL. Вывод осуществляется в HostWinControl:TWinControl. В DLL я передаю HostWinControl.

Далее такой эффект:

Если я использую SetParent(DLLForm.Handle,HostWinControl.Handle) то у меня не работает свойство DLLForm.Align:=alClient.

Если DLLForm.Parent:=HostWinControl  выводится сообщение допустем Spliter no have parent window при попытке подергать сплитер на DLLForm.


 
evvcom ©   (2005-05-31 13:06) [7]

Опять вынос VCL в dll! Use run-time packages галка стоит?


 
Still Swamp   (2005-05-31 13:09) [8]

НЕТ! До сих пор избегал - надеюсь и сейчас удастся.


 
evvcom ©   (2005-05-31 13:35) [9]

Тогда либо не передавай между модулями (exe, dll) никакие классы, либо приготовься к глюкам.


 
Still Swamp   (2005-05-31 13:41) [10]

О! - хорошая идея. А передам ка я Handle вместо TWinControl...


 
Still Swamp   (2005-05-31 13:54) [11]

Хм.... а как имея Handle определить WinContol что бы написать DLLForm.Parent:=Control.


 
evvcom ©   (2005-05-31 14:11) [12]

блин, да никак! Это будут разные классы TWinControl в exe и TWinControl в dll, хотя и имеют идентичный код и одинаковые имена. Отсюда и глюки.


 
Still Swamp   (2005-05-31 14:20) [13]

и то верно...
:(


 
Гаврила ©   (2005-05-31 15:35) [14]

При варианте с DLL передавать только handle, никаких parent:=...

Form1.ParentWindow:=AHandle;

(при условии билда без ран-тайм пакетов)
А Align наверно придется разруливать руками



Страницы: 1 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.05 c
1-1117259766
sofs
2005-05-28 09:56
2005.06.14
Проблема


14-1116919778
NeyroSpace
2005-05-24 11:29
2005.06.14
Моменты из фильма Terminator 2


1-1117530290
Karlson
2005-05-31 13:04
2005.06.14
Как средствами Delphi создать Help-файл?


1-1117317565
TStas
2005-05-29 01:59
2005.06.14
Как задать констату пользовательского типа?


14-1116755818
Igorek
2005-05-22 13:56
2005.06.14
Воскресный флэшовый квест :8-)