我想在鼠标移动时显示提示,就像在Winamp中一样。无需专注于应用程序。感谢帮助。

最佳答案

您可以弹出提示,但是如果应用程序不是重点应用程序,我不确定是否可以这样做。

这将显示设置了提示且ShowHint = True的任何内容的提示。但仅当它是重点种子应用程序时。 (正如Sertac Akyuz在原始帖子的评论中所说,VCL仅对当前活动的表单执行此操作)。

procedure TForm1.ControlMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
  aPoint: TPoint;
  aControl: TControl;
begin

  aControl := TControl(Sender);
  if aControl.ShowHint = true then
  begin
    aPoint.X := X;
    aPoint.Y := Y;

    if Assigned(aControl.Parent) then
      aPoint := aControl.ClientToParent(aPoint);
    aPoint := ClientToScreen(aPoint);

    Application.ActivateHint(aPoint);
  end;
end;


希望这可以帮助。

关于delphi - 如何在未激活的表单上显示提示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23970838/

10-09 05:57