Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как изменить Handle


Alec ©   (2005-02-09 15:14:00) 

Есть некоторое приложение (не доступно для изменения), которое вызывает некоторую функцию RunForm(hnd:THandle) из моей DLL написанной на KOL. В DLL создается и показывается некоторая форма. Как можно присвоить этой форме указанный thandle? В VCL я просто переприсваивал его объекту Application. А в KOL как?


Alec   (2005-02-10 08:43:00) [1]

2Barlogg
Пишу плагин, и нужно чтобы окно DLL было дочерним для приложения (не появлялась еще одна кнопка в таскбаре)

2Денис
Спасибо, то что доктор прописал.


Денис   (2005-02-10 01:54:00) [2]

SetParent(kolform.handle,ParentHandle)


Barloggg   (2005-02-09 16:48:00) [3]

Ну, насколько мне известно, Thandle тебе выдает винда и нефиг его менять.
К нему можно подцепиться, чтобы за него таскать и измываться над уже запущенным окном. Но чтобы его менять.

Мое мнение: незачем.
Хмм... а ведь действительно, у VCL-ного application можно поменять handle. О! в дельфийском хелпе написано, что действительно, можно присваивать форме другой handle чтобы сделать эту форму частью другого приложения.

Тогда я корректирую свое мнение.
Мое мнение: никак. Похоже тебе единственому пришла такая идея в голову пользоваться этим.

Тем не менее без этого можно обойтись. Главное понимать зачем это делается. Это нужно для того, что сообщения посланные приложению попадали также и в эту Dll. И присвоенный handle позволяет например убить форму в dll вместе с основным приложением. Но ведь dll убивается виндой автоматически, как только винда решает, что эта либа больше никому не нужна.
И зачем тебе такие сложности? ломалку пишешь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо