使用 ShowBalloonHint 时,如何避免设置为自动隐藏时弹出任务栏?
最佳答案
Windows 中的通知区域具有已定义的行为。您可以希望它的行为有所不同,但这并不能改变您想做的事情无法完成的事实。
抱歉给您带来不便。
一个接近的解决方法是自己创建一个 TOOLTIP
窗口,并将其放置在屏幕上您认为用户通知区域可能所在的位置附近:
- 右下
- 右上角
- 左下角
- 主要显示器
- 辅助监视器
这将涉及使用
GetSystemMetrics(SM_CXFULLSCREEN)
GetSystemMetrics(SM_CYFULLSCREEN)
系统参数信息(SPI_GETWORKAREA)
然后创建一个TOOLTIPS_CLASS
窗口:
FHandle := CreateWindow(TOOLTIPS_CLASS, PChar(''),
WS_POPUP or TTS_BALLOON,
Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT),
Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT),
0, 0, HInstance,
nil);
然后您将向其发送 TTM_SETTITLE
、TTM_UPDATETIPTEXT
、TTM_TRACKPOSITION
消息,最后是重要时刻:TTM_TRACKACTIVATE
>:
稍后,您通过再次调用 TTM_TRACKACTIVATE
来隐藏工具提示。
您可以随意follow Windows user experience guidelines ,或者您也可以自己推出。
关于Delphi:设置为自动隐藏时如何显示托盘图标气球而不显示任务栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10257377/