Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |
[Pascal] Re: Два вопроса по handle под Delphi 20.01.02 23:52 Число просмотров: 1315
Автор: leo <Леонид Юрьев> Статус: Elderman
|
> Народ как нормально найти все дочерние handle's данного > handle на Delphi > - это был 1 вопрос В Win32 у handles нет иерархии, т.е. отношений parent-child. Не ясно что ты собираешся закрывать, если просто все handles процесса, то это почти равноценно закрытию самого процесса.
> И второй - Как цевилизованно закрыть чужой объект (destory) > так, чтобы окно - его parent не накрывалось.????????????? У окна должна быть "оконная процедура" обрабатывающая сообщения, в часности WM_PAINT. Если ты разрушишь объект (экземпляр класса) соответствующий окну, то оконная процедура runtime Delphi не сможет работать. В принципе можно "подставить" другую процедуру, но окно все равно будет лишено функциональности, от него останется только внешний вид.
Совершенно не ясно для чего это надо...
|
|
<programming>
|
[Pascal] Два вопроса по handle под Delphi 20.01.02 19:33
Автор: Mikle Статус: Незарегистрированный пользователь
|
Народ как нормально найти все дочерние handle's данного handle на Delphi
- это был 1 вопрос
И второй - Как цевилизованно закрыть чужой объект (destory) так, чтобы окно - его parent не накрывалось.?????????????
Mikle
|
 |
[Pascal] Два вопроса по handle под Delphi 21.01.02 18:03
Автор: Cyril <sc> Статус: Member
|
> Народ как нормально найти все дочерние handle's данного > handle на Delphi > - это был 1 вопрос
По видимому тебя интересует EnumChildWindows
|
 |
[Pascal] Два вопроса по handle под Delphi 21.01.02 00:19
Автор: Sandy <Alexander Stepanov> Статус: Elderman
|
> И второй - Как цевилизованно закрыть чужой объект (destory) > так, чтобы окно - его parent не накрывалось.?????????????
Попробуй посылать WM_CLOSE родителю окна, только хэндл укажи не родительского окна, а дочернего.
|
 |  |
[win32] не сработает, см. описание wm_close в msdn 21.01.02 00:45
Автор: leo <Леонид Юрьев> Статус: Elderman
|
|
|
 |  |  |
[win32] не сработает, см. описание wm_close в msdn 21.01.02 00:53
Автор: Sandy <Alexander Stepanov> Статус: Elderman
|
|
Про wm_close я погорячился. Если речь идет о родителе-контейнере, причем как классе Дельфы, то дочернее окно прибивать без извещения об этом родителя нельзя - завалится аппликация. Основная идея моего совета была в следующем: посылать родительскому окну извещение о том, что дочернее окно прекратило существование. В классах Дельфы сообщения для дочерних окон проходят через оконную функцию родителя-контейнера, поэтому я и предложил послать wm_close родителю, но хэндл указать дочерний.
|
 |
[Pascal] Re: Два вопроса по handle под Delphi 20.01.02 23:52
Автор: leo <Леонид Юрьев> Статус: Elderman
|
> Народ как нормально найти все дочерние handle's данного > handle на Delphi > - это был 1 вопрос В Win32 у handles нет иерархии, т.е. отношений parent-child. Не ясно что ты собираешся закрывать, если просто все handles процесса, то это почти равноценно закрытию самого процесса.
> И второй - Как цевилизованно закрыть чужой объект (destory) > так, чтобы окно - его parent не накрывалось.????????????? У окна должна быть "оконная процедура" обрабатывающая сообщения, в часности WM_PAINT. Если ты разрушишь объект (экземпляр класса) соответствующий окну, то оконная процедура runtime Delphi не сможет работать. В принципе можно "подставить" другую процедуру, но окно все равно будет лишено функциональности, от него останется только внешний вид.
Совершенно не ясно для чего это надо...
|
|
|