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

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

fsStayOnTop не работает? [D6, Win95/98]


Damage ©   (2002-11-26 22:35:00) 

Здравствуйте, читатель!!!
Не поможете ли разобраться вот с чем:
Есть программа, форма которой имеет FormStyle = fsStayOnTop
После первого запуска все нормально, форма сверху всех.
Потом происходит (так надо) ShowWindow с параметром SW_MINIMIZE, и ShowWindow с параметром SW_SHOWNORMAL, и форма становится обычной, т.е. не "поверх всех". Принудительно-повторное присвоение fsStayOnTop не помогает (даже после ShowWindow).


Игорь Шевченко   (2002-11-28 14:11:00) [1]

До SetWindowPos, разумеется, современная наука не додумалась.
До того, чтобы посмотреть в forms.pas что делает FormStyle := fsStayOnTop, разумеется тоже. А зря. Надо иногда RTFS и подумать немножко.

Присваивание стиля fsStayOnTop вызывает функцию SetWindowPos один раз. То есть, форма с этим стилем не рассчитана последующую минимизацию и восстановление, не для этого стиль придуман, а для того, чтобы форма повисела на экране (не сворачиваясь), пользователь какие-то срочные действия сделал, и закрыл ее.

В кладовке, в разделе "Готовые программы" лежит программа StayOnTop - поглядите, оно может, чем полезным окажется.


Almaz   (2002-11-28 01:18:00) [2]


> Damage (26.11.02 22:35)

Форма основная или дочерняя ?


LongIsland   (2002-11-27 21:07:00) [3]

А если попробовать ShowWindow(Handle, SW_RESTORE)?


Damage   (2002-11-27 21:01:00) [4]

Даже если на таскбаре мышей попереключать приложения - StayOnTop теряет свою силу Ж:-\ Это винды наверное глючат?


Kibitzer   (2002-11-26 22:53:00) [5]

Странно. У меня и на D5 и на D6 остаётся fsStayOnTop после SW_MINIMIZEс последующим SW_SHOWNORMAL. :-/
ps. У меня Win2000, может из-за этого?


Наверх

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