![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить у окна WS_EX_TOPMOST? [D7, XP]
Б © (2009-12-17 23:12:00)Здрасти!
Имеется окно (не VCL).
Как узнать, что оно "выше всех"?
Б (2009-12-18 00:09:00) [1]
> Наличие флага никаким образом не отражает реальное положение
> дел.
Спасибо, посмотрим.
DVM (2009-12-17 23:32:00) [2]
> Б (17.12.09 23:25) [3]
> Флаг WS_EX_TOPMOST можно вытащить через GetWindowLong.
> Но как в полученном числе его вычислить?
Наличие флага никаким образом не отражает реальное положение дел.
0x00FF00 (2009-12-17 23:31:00) [3]if ([полученное_число] and WS_EX_TOPMOST <> 0) then...
DVM (2009-12-17 23:30:00) [4]
> Б (17.12.09 23:23) [2]
> В полноэкранном режиме окошко нельзя перекрыть другим окном
> в отличии от оконного.
После создания своего окна двигай его вперед - SetWindowPos()
Далее WM_WINDOWPOSCHANGING поможет твоему окну узнать, что оно окно перекрывается другим окном и предотвратить перекрытие.
Можно по таймеру периодически двигать свое окно вперед.
Но следует иметь в виду, что таких умных окон может оказаться более одного и начнется чехарда.
Б (2009-12-17 23:25:00) [5]Флаг WS_EX_TOPMOST можно вытащить через GetWindowLong.
Но как в полученном числе его вычислить?
Б (2009-12-17 23:23:00) [6]В полноэкранном режиме окошко нельзя перекрыть другим окном в отличии от оконного.
И хочется протестить сей момент.
Работает/Не работает.
DVM (2009-12-17 23:15:00) [7]
> Как узнать, что оно "выше всех"?
зачем?