Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-1115553366
SergeyPVC
2005-05-08 15:56
2005.06.14
После удаление размер БД не уменьшился... :(


11-1099634371
JT
2004-11-05 08:59
2005.06.14
OLE в KOL/MCK


1-1117099653
pavel_guzhanov
2005-05-26 13:27
2005.06.14
Работа с PopupMenu


4-1114528271
Виталик
2005-04-26 19:11
2005.06.14
Проблема с запуском программы от лица другого пользователя


1-1116943383
ALL
2005-05-24 18:03
2005.06.14
Memo RichEdit





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский