Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Delphi-任务栏中的文本图标_Windows_Delphi_Object_Pascal_Tray - Fatal编程技术网

Windows Delphi-任务栏中的文本图标

Windows Delphi-任务栏中的文本图标,windows,delphi,object,pascal,tray,Windows,Delphi,Object,Pascal,Tray,我正在尝试编写一个应用程序,用于放置当前温度(从联机源获取)并在系统托盘/通知(适用于Windows 7+)的应用程序图标中显示温度(文本) 我使用的是Delphi TTrayIcon组件,我不知道如何在图标区域显示文本。过去我有其他应用程序可以做到这一点,所以这一定是可能的。通知图标就是这样。图标。它们无法显示您提供给它们的文本。因此,为了实现您的目标,您需要动态创建一个包含文本的图标,并将其作为通知图标提供 请注意,通知图标是一个小图标,其大小由系统度量给出 您不能在那里显示文本。该区域显示

我正在尝试编写一个应用程序,用于放置当前温度(从联机源获取)并在系统托盘/通知(适用于Windows 7+)的应用程序图标中显示温度(文本)


我使用的是Delphi TTrayIcon组件,我不知道如何在图标区域显示文本。过去我有其他应用程序可以做到这一点,所以这一定是可能的。

通知图标就是这样。图标。它们无法显示您提供给它们的文本。因此,为了实现您的目标,您需要动态创建一个包含文本的图标,并将其作为通知图标提供


请注意,通知图标是一个小图标,其大小由系统度量给出

您不能在那里显示文本。该区域显示图标。你可以制作一个图标,在上面绘制温度,然后更新图标以显示新的显示温度的图标。就像KenWhite说的,你的问题不是如何在托盘图标上写文本。你的问题是如何更改图标,这将缩小这个问题的范围。要满足Gudeline的要求,您应该提供16x16和32x32像素的图标。这是因为用户可以在应用程序运行时更改DPI。将运行,如果您只提供16x16,它将缩放到更大的尺寸。如果您可以在不保存到磁盘的情况下“动态”创建这样的图标,您可能会问这个问题。@victoria呃,这是不对的。通知图标是一个小图标。因此,您可以询问系统小图标的大小。当然,它可以是介于16和32之间的东西。@David,如果只提供了一个16x16像素的图标,那么在设置为高dpi值的系统中,它会被缩放到更大的尺寸。这可能会导致一个不吸引人的结果。建议在资源文件中同时提供16x16像素图标和32x32像素图标。使用LoadIconMetric确保正确的图标已加载并适当缩放。(). 您应该呈现这两种大小。通知图标(即任务栏中的图标)可以很好地显示文本(气球提示),可以使用
Shell\u NotifyIcon(NIM\u MODIFY,Data)动态设置
,其中
数据
是一个
pnotifyiconda
@rudy,这不是这里讨论的内容是的,我现在知道了。他想和我笔记本电脑上的CoreTemp应用程序一样。它们还动态创建图标,然后显示它们。