Советы по Delphi

       

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


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

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

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

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

дополняет:

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

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

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



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