Заставить форму быть всегда сверху

  • Автор темы mgm
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M
#1
Пишу прогу в которой нужно не главню форму иногда делать не перекрываемой окнами других программ. Сделать для главного окна программы получается, а для других никак. Перелопатил весь инет, многие пишут, что не возможно так сделать, типа глюк самой Делфи. Может есть всётаки способ, посоветуйте что нибудь.. :)
 
D

dyatel

#2
Пишу прогу в которой нужно не главню форму иногда делать не перекрываемой окнами других программ. Сделать для главного окна программы получается, а для других никак. Перелопатил весь инет, многие пишут, что не возможно так сделать, типа глюк самой Делфи. Может есть всётаки способ, посоветуйте что нибудь.. :(
Цитирую..
Почему, если присвоить свойству FormStyle значение fsStayOnTop, форма так и не остается на самом верху?

Просто добавьте application.RestoreTopMosts в обработчик события формы OnPaint. Это ошибка.

Могли бы вы рассказать об этом чуть-чуть поподробнее? Delphi где-то в неправильном месте осуществляет вызов NormalizeTopMosts?

Borland говорит что это Windows, но это случается когда StayonTop-форма НЕ является главной формой. (Некоторые английские программисты чтобы получить эту отговорку потратили несколько сотен долларов, звоня в американскую службу помощи по телефону 1-800).


Пишу прогу в которой нужно не главню форму иногда делать не перекрываемой окнами других программ. Сделать для главного окна программы получается, а для других никак. Перелопатил весь инет, многие пишут, что не возможно так сделать, типа глюк самой Делфи. Может есть всётаки способ, посоветуйте что нибудь.. :rolleyes:
или вот так

with Self do {Form1,...}
SetWindowPos(Handle, // handle to window
HWND_TOPMOST, // placement-order handle {*}
Left, // horizontal position
Top, // vertical position
Width,
Height,
// window-positioning options
SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);

{* Other Values: }
HWND_BOTTOM
Places the window at the bottom of the Z order.
HWND_NOTOPMOST
Places the window above all non-topmost windows
HWND_TOP
Places the window at the top of the Z order.
HWND_TOPMOST
Places the window above all non-topmost windows.
The window maintains its topmost position even when it is deactivated.
 
Статус
Закрыто для дальнейших ответов.