Страница: 1 |
Страница: 1 |
Вопрос: ChildWindowFromPoint
Добавлено: 07.08.05 20:33
Автор вопроса: SyavX
Hello, World!
Есть у меня код процедуры таймера:
Local hParent As Dword
Local hChild As Dword
Local p As POINTAPI
Call GetCursorPos(p)
hParent = WindowFromPoint(p.x, p.y)
If GetParent(hParent) Then
Call ScreenToClient(hParent, p)
hChild = ChildWindowFromPointEx(hParent, p.x, p.y, %CWP_SKIPINVISIBLE)
If hChild = hParent Then
hParent = GetParent(hParent)
Call GetCursorPos(p)
Call ScreenToClient(hParent, p)
hChild = ChildWindowFromPointEx(hParent, p.x, p.y, %CWP_SKIPINVISIBLE)
End If
End If
' ...
End Sub
Объясните пожалуйста почему, когда я навожу курсор на контрол во фрэйме, hChild содержит дескриптор этого фрэйма, а не дескриптор нужного мне контрола. Такой прокол наблюдается почти во всех диалогах Wind'ы.
Здесь проблема "Родителей и Детей" наблюдается :)
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
SyavX
Вопросов: 25
Ответов: 149
Профиль | | #1
Добавлено: 09.08.05 23:50
"Мертвые с косами стоят, и тишина..."
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 10.08.05 00:49
у одного родителя может быть несколько детей, возможно трабл тут...
 с) Мститель
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 10.08.05 02:21
не "родителя", а "родителей" !
мама ж и папа...
)))))))))))))))))))))))
Номер ответа: 4
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #4
Добавлено: 10.08.05 04:29
Ну написано же...
Так что правильно всё. Нужно, если фрейм, указывать родителем его, а не форму...
Номер ответа: 5
Автор ответа:
SyavX
Вопросов: 25
Ответов: 149
Профиль | | #5
Добавлено: 11.08.05 02:10
Эксперементы с ф-цией EnumChildWindows показали: фрэймы в Wind'е - бездетные! От всех разговоров, о том, что-бы кого-небудь усыновить (удочерить), фрэймы уклоняются. А вся та стая безпризорников, от которых отказались фрэймы находится под заботливым родительским крылом родительской формы В итоге внуков, а тем более правнуков у этой формы нет.
P.S.
Для эксперемента выбрал диалог "Свойства системы" (Win + Break)
P.P.S.
Значит ChildWindowFromPoint следует передавать дескриптор формы, и неизвестно с какими координатами точку...