gpt4 book ai didi

delphi - 如何才能让我的表单始终处于最重要的位置?

转载 作者:行者123 更新时间:2023-12-03 15:40:49 26 4
gpt4 key购买 nike

我有这些光标形状的小表格,我需要一直在一切之上......
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 的顶部。如何使我的表单始终处于最重要的位置?

最佳答案

这一定是我要发布的终极或最糟糕的黑客行为。

  1. 将 FormStyle 设置为 fsStayOnTop(此步骤实际上可能没有必要)
  2. 将 TTimer 拖放到表单上并将其间隔设置为 100
  3. 在 OnTimer 事件中放置以下代码:

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

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

关于delphi - 如何才能让我的表单始终处于最重要的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3242949/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com