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

Тема в разделе "Delphi - Система", создана пользователем mgm, 29 апр 2007.

Статус темы:
Закрыта.
  1. mgm

    mgm Гость

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

    dyatel Гость

    Цитирую..
    Почему, если присвоить свойству 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.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей