Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Вниз

Создать приложение подобное "Панели 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.127 c
3-1096265024
MakNik
2004-09-27 10:03
2004.10.24
Аналог ф-ции NewID()


1-1097223580
TUser
2004-10-08 12:19
2004.10.24
ShareMem and C


4-1095508306
Kirill
2004-09-18 15:51
2004.10.24
Кто использует DLL


3-1096274299
VKSam
2004-09-27 12:38
2004.10.24
InterBase


14-1096934165
Homa_Programer
2004-10-05 03:56
2004.10.24
НОВОСИБИРЦЫ, ПОМОГИТЕ!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский