Delphi中的Windows和提示

时间:2009-07-03 07:27:36

标签: windows delphi

今天早上我终于明白了,决定向你寻求帮助。问题是在我的Delphi应用程序中根本没有显示任何提示...... 我已经阅读了有关THintAction问题,我已阅读指南/教程/手册,尝试手动调用提示窗口(触发事件处理程序),但没有任何效果。他们只是没有表现出来。 我的想法已经用完......

我试过:在事件处理程序,应用程序activatehint()上设置组件,表单上的父showhints ......

有没有其他方法可以做到这一点(当然除了API调用)?

7 个答案:

答案 0 :(得分:6)

首先,您使用的是哪个版本的Delphi?

其次,我建议您尝试从头开始创建一个简单的应用程序,只需一个表单并说一个工具按钮(或任何其他可以显示提示的控件),并激活ShowHints,看看是否显示。如果在这样一个非常简单的应用程序上你没有得到任何提示,我建议重新安装Delphi,也许你的安装中的东西搞砸了......

答案 1 :(得分:3)

我打赌你是在XP上,你的安装相当陈旧。

我的一个朋友在他的机器上遇到了这个问题。他的机器上没有出现VCL提示。这包括他建立的应用程序,他使用的Delphi IDE(7 afaicr)以及他在机器上使用的任何其他Delphi构建的应用程序。所以我们最后指责他的WinXP实例已经运行了2年,其中有大量垃圾(很可能是他安装的某些应用程序在某些时候挂起了消息导致这种奇怪的行为)。也可能是你的情况。

PS。另一个有趣的观点 - 如果将Application.HintPause设置为100-200之类的低值,则会显示提示。您也可以尝试这样做。

答案 2 :(得分:1)

您是否尝试过将Application.ShowHint添加到项目文件中?

项目文件看起来像这样

begin
  Application.Initialize;
  Application.ShowHint := True;
  Application.CreateForm(TfrmMain, frmMain);
  Application.Run;
end.

答案 3 :(得分:1)

我刚刚在Delphi-5上遇到这个问题,“运行时应用程序不会显示有关鼠标悬停的提示”。 它在我的其他应用程序上运行良好。

我已将其追溯到以下内容: 项目|选项|编译器|调试|使用调试DCU 这已经过检查,取消选中并重新编译可以启用我的提示。

答案 4 :(得分:0)

一些提示:

  • 检查您或其他组件/单元是否已设置自定义提示类。如果是,请找到该组件/单元并将其删除。
  • 使用Debug DCU编译应用程序,并将断点放在Forms.pas中的适当位置。然后单步执行代码,看看会发生什么。

答案 5 :(得分:0)

好的 - 当我最近升级到2010版本(14.x)时,我终于确定这个Hint问题在IDE中是Bug。

只有解决方案是: - 更改HintPause属性 - 尝试重新安装IDE

答案 6 :(得分:0)

我还遇到了我的PC(win10)无法显示我的ap(由Delphi 7制造)的提示。 我将以下行放在.dpr文件中后,再次工作: 100是幻数,500或1000不起作用。

begin
  Application.Initialize;
  Application.ShowHint := True;
  Application.HintPause:=100;
  Application.Run;
end.