Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Создать приложение подобное "Панели MS Office"   Найти похожие ветки 

 
lightix   (2004-10-07 11:22) [0]

Как сделать сабж? Подобие заключается в плане того что приложение должно быть всегда поверх всех окон.


 
lightix   (2004-10-07 11:24) [1]

Если сделать приложение с 1-й формой и выставить для нее FormStyle=fsStayOnTop - то получается нечто похожее.
А если несколько форм - то почему то не получается


 
begin...end ©   (2004-10-07 11:26) [2]

Может, SetWindowPos() с HWND_TOPMOST поможет...


 
DVM ©   (2004-10-07 11:28) [3]

ShAppBarMessage(). Ты зря не послушал мой совет про WH_SHELL. Это самое верное, поверь.


 
lightix   (2004-10-07 11:33) [4]

Интересное наблюдение - если сделать в приложении 2 формы и главную выставить StayOnTop то она будет наверху.
а если главная Normal, а вторая StayOnTop и вызывается по кнопке из первой как Show то она прячется.
Получается что зависит это от каких то свойств формы?


 
lightix   (2004-10-07 11:34) [5]


> DVM ©   (07.10.04 11:28) [3]
> ShAppBarMessage(). Ты зря не послушал мой совет про WH_SHELL.
> Это самое верное, поверь.

расскажи поподробнее плиз


 
DVM ©   (2004-10-07 11:36) [6]

Короче, объясню популярно, почему инструментальные панели типа Панели задач и панели офиса всегда сверху. Точнее они не всегда сверху, но почти.
Панелями заведует функция ShAppBarMessage(). А самой этой функцией заведует Проводник. Проводник ставит ловушку WH_SHELL и некоторые другие и отслеживает активацию, создание, удаление топ-левел окон (для панели задач в первую очередь). Попутно он сообщает всем панелям через ShAppBarMessage() и говорит им когда надо двигаться наверх и когда прятаться. А прятаться иногда надо (запущено полноэкранное приложение). Таким образом панель задач и все панели всегда лезут наверх при активации любого окна.

Вывод такой: поставить глобальный хук WH_SHELL и при активации окон двигать свое окно наверх SetWindowPos().



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.055 c
1-1097055459
Hereticsoul
2004-10-06 13:37
2004.10.24
Вообще ничего не понимаю что происходит со значением переменной.


1-1097575940
Галинка
2004-10-12 14:12
2004.10.24
Как сделать не сортированный TStringList или TStrings


14-1096890677
Marker
2004-10-04 15:51
2004.10.24
Можно ли заставить Excel...


14-1096817774
Yuri Btr
2004-10-03 19:36
2004.10.24
Разложение сигнала в спектр


1-1097341596
Alexey_v
2004-10-09 21:06
2004.10.24
расположить приложение на рабочем столе между папками и обоями