Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить у окна 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]


> Как узнать, что оно "выше всех"?

зачем?


Наверх

Титульная страница Поиск, карта сайта Написать письмо