Мне необходимо поместить 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) |