Главная страница
    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.036 c
3-1115460568
Mr.F
2005-05-07 14:09
2005.06.14
Построение дерева из базы данных


3-1115124624
Andarko
2005-05-03 16:50
2005.06.14
Вычисляемое поле?


14-1117031425
Kolan
2005-05-25 18:30
2005.06.14
Книги по проектированию.


14-1117177400
juice
2005-05-27 11:03
2005.06.14
Разрешение адресов


1-1117525901
Layner
2005-05-31 11:51
2005.06.14
Здравствуйте, подскажите плз, как программно установить ListView





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