Форум: "Основная";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
ВнизПодмена хэндла Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.043 c