当前位置 : 主页 > 编程语言 > delphi >

delphi – 如何让我的表单始终处于最佳状态?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我有这些小光标形状,我需要一直在所有的一切,一直…… FormStyle已经是fsStayOnTop 我用这个代码: SetWindowPos(tempCursor.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE ); 而这(虽然
我有这些小光标形状,我需要一直在所有的一切,一直……
FormStyle已经是fsStayOnTop
我用这个代码:

SetWindowPos(tempCursor.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE );

而这(虽然我不知道它的作用):

procedure TCursorFrm.CreateParams(var Params: TCreateParams);
const
   WS_EX_NOACTIVATE = $8000000;
begin
   inherited;
   Params.ExStyle := Params.ExStyle + WS_EX_NOACTIVATE;
end;

但我仍然无法让我的表格在TMenuItems之上.
如何让我的表格始终处于最佳状态?

这必须是我将要发布的最终或最糟糕的hackery.

>将FormStyle设置为fsStayOnTop(实际上可能不需要此步骤)
>在表单上删除TTimer并将其间隔设置为100
>在OnTimer事件中,放置以下代码:

如果可见的话
  SetWindowPos(Self.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE或SWP_NOMOVE或SWP_NOACTIVATE);

我在我的一个项目中使用它,它似乎工作正常.

网友评论