![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SetParent для окон различных приложений
Джо © (2005-08-19 21:44:00)Вопрос навеян веткой: http://www.delphimaster.ru/cgi-bin/forum.pl?id=1124471350&n=5
--
Хотелось бы устранить некую неясность в вопросе использования SetParent.
В MSDN утверждается: "The new parent window and the child window must belong to the same application".
Отчего же эдакий код выполняется вполне успешно:
procedure TForm1.Button1Click(Sender: TObject);
var
H: Integer;
begin
H := FindWindow(nil,'My Computer');
if H 0 then
Windows.SetParent(Handle,H)
end;
Т.е., как и полагается, окошко нашей формы оказывается внутри окна explorer'а "My Computer" (если оно существует, конечно).
Хотелось бы услышать комментарий, проясняющий для меня происходящее. Если, конечно, это не банальная неточность в MSDN.
Джо (2005-08-20 01:30:00) [1][1] alpet © (20.08.05 00:42)
> можно только в пределах одного декстопа.
Ну, хрен редьки не слаще :)
Must belong - это, в конце концов, не should belong. Впрочем, забавно. Я честно говоря, не знал, а открыл случайно.
alpet (2005-08-20 00:42:00) [2]Джо © (19.08.05 21:44)
Ну в какой-то мере это свойство можно считать недокументированным, в том смысле что окна должны быть для одного процесса, но не обязаны. Хорошо хоть, что устанавливать родительские отношения, можно только в пределах одного декстопа.
alpet (2005-08-20 00:42:00) [3]Джо © (19.08.05 21:44)
Ну в какой-то мере это свойство можно считать недокументированным, в том смысле что окна должны быть для одного процесса, но не обязаны. Хорошо хоть, что устанавливать родительские отношения, можно только в пределах одного декстопа.