![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
merz |
|
||||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 18.4.2002 Репутация: нет Всего: нет |
Для получения окна по точке существуют 2 функции
WindowFromPoint и ChildWindowFromPoint. Мне необходимо получить дочернее окно в заданной точке. Если родительское окно находится поверх остальных, то следующий код работает корректно:
Но оно может находится и не наверху! Поэтому пишем следующий код:
но он возвращает совершенно другой результат! В чем здесь собака зарыта? С Уважением, Merz. |
||||
|
|||||
suborg |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 190 Регистрация: 29.4.2002 Где: Москва Репутация: нет Всего: нет |
По-моему там если окно перекрыто другим окном, то оно не находится.
|
|||
|
||||
merz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 18.4.2002 Репутация: нет Всего: нет |
В WindowFromPoint так оно и есть
но ChildWindowFromPoint находится... |
|||
|
||||
Sheff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 503 Регистрация: 25.3.2002 Где: Зеленоград Репутация: 3 Всего: 3 |
ChildWindowFromPoint берёт хэндл дочернего окна по хэндлу родительского окна и точке. Но если твоё родительское окно закрыто другими окнами(который тоже являются родительскими), как же ты возьмёшь его хэндл с помощью ChildWindowFromPoint, ведь оно не является ни для кого дочерним.
-------------------- -------------------------- Шеф всегда прав :) |
|||
|
||||
merz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 18.4.2002 Репутация: нет Всего: нет |
То есть, как я понял, ты хочешь сказать что у окна бывают 2 родителя?? Оригинально!
|
|||
|
||||
Sheff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 503 Регистрация: 25.3.2002 Где: Зеленоград Репутация: 3 Всего: 3 |
Я хочу сказать, что то твоё окно(родительское) не является ни для кого дочерним, разве что может для Explorer'а. -------------------- -------------------------- Шеф всегда прав :) |
|||
|
||||
merz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 18.4.2002 Репутация: нет Всего: нет |
Ну и что?
Дескриптор этого окна у меня есть:
|
|||
|
||||
Sheff |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 503 Регистрация: 25.3.2002 Где: Зеленоград Репутация: 3 Всего: 3 |
А зачем тогда цикл, если ты знаешь хэндл этого самого родительского окна, разве нельзя взять Child вот так:
hwndCurrWnd - будет хэндлом дочернего окна. -------------------- -------------------------- Шеф всегда прав :) |
||||||
|
|||||||
merz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 18.4.2002 Репутация: нет Всего: нет |
То будет потомок - лежащий на самом дне z-буффера, а мне надо получить тот, что на самом верху (то есть ближе всего к нам)
|
|||
|
||||
Sheff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 503 Регистрация: 25.3.2002 Где: Зеленоград Репутация: 3 Всего: 3 |
Ааа, так у тебя в этом окне ещё и куча чаилдов, которые друг друга перекрывают. Если ты хочешь взять самого "верхнего" чайлда, то не лучше ли юзать GetWindow с флагом GW_CHILD ? -------------------- -------------------------- Шеф всегда прав :) |
|||
|
||||
merz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 18.4.2002 Репутация: нет Всего: нет |
Вобщем, пожоже разобрался я в этой проблеме..
Все дело в том, что окошко нужное - поле ввода на апплете И как показал Spy++ у апплета нет родителя... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |