Пишу прогу в которой нужно не главню форму иногда делать не перекрываемой окнами других программ. Сделать для главного окна программы получается, а для других никак. Перелопатил весь инет, многие пишут, что не возможно так сделать, типа глюк самой Делфи. Может есть всётаки способ, посоветуйте что нибудь..
Цитирую..
Почему, если присвоить свойству FormStyle значение fsStayOnTop, форма так и не остается на самом верху?
Просто добавьте application.RestoreTopMosts в обработчик события формы OnPaint. Это ошибка.
Могли бы вы рассказать об этом чуть-чуть поподробнее? Delphi где-то в неправильном месте осуществляет вызов NormalizeTopMosts?
Borland говорит что это Windows, но это случается когда StayonTop-форма НЕ является главной формой. (Некоторые английские программисты чтобы получить эту отговорку потратили несколько сотен долларов, звоня в американскую службу помощи по телефону 1-800).
Пишу прогу в которой нужно не главню форму иногда делать не перекрываемой окнами других программ. Сделать для главного окна программы получается, а для других никак. Перелопатил весь инет, многие пишут, что не возможно так сделать, типа глюк самой Делфи. Может есть всётаки способ, посоветуйте что нибудь..
или вот так
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.