Советы по Delphi

         

ПОМОГИТЕ !! STAY-ON-TOP !!!


Мне необходимо поместить Delphi-форму ДЕЙСТВИТЕЛЬНО поверх других приложений, не просто поверх всех форм приложения (что просто), а постоянно, даже если я использую, к примеру, EXCEL.

Попробуй использовать Windows API функцию SetWindowPos(). Примерно так...



    with MyForm do SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);

Возможно вам понадобиться вызывать данную функцию в обработчиках события OnShow(), OnDeactivate(), и OnActivate() вашей формы.

Nomadic дополняет:

В том случае, если приложение не активно (not foreground), твоя формочка благополучно скроется под другими приложениями :(.

Лечится вызовом 2-х функций в OnShow:

    SetForegroundWindow(Form1.Handle); SetWindowPos(Form1.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE+SWP_NOSIZE)
[000275]



Содержание раздела