在Systray上放个图标,让其tooltip显示成Balloon Tooltips。有兴趣的不如试一试,可以参考如下文档:MSDN中的Platform SDK Documentation

happyjoe 2002-04-11 06:45:41
我在做这样的东西:
在Systray上放个图标,让其tooltip显示成Balloon Tooltips,不过没有成功。
:-(
有兴趣的不如试一试,可以参考如下文档:
MSDN中的Platform SDK Documentation --> User Interface Services --> Windows Common Controls --> Tooltip Controls --> Using Tooltip Controls.
做出来后别忘了告诉我哦。
我做了一天没有做出来。
...全文
98 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tvrcjtg 2002-05-27
  • 打赏
  • 举报
回复
我的MSDN是很好的:(
happyjoe 2002-04-11
  • 打赏
  • 举报
回复
这样做出来的trayicon的提示(就是tooltip)是标准的,我现在是想提示为
Balloon Tooltips
看看
MSDN中的Platform SDK Documentation --> User Interface Services --> Windows Common Controls --> Tooltip Controls --> Using Tooltip Controls.
就知道了,里面有图片。
blazingfire 2002-04-11
  • 打赏
  • 举报
回复
还有一些事件没有处理,所以不要在运行时将窗体最小化,否则恢复不了。
blazingfire 2002-04-11
  • 打赏
  • 举报
回复
unit main;

interface
uses
Windows, Messages, SysUtils, Classes,Graphics, Controls, Forms,
Dialogs,ShellAPI, StdCtrls;
{自定义消息,当小图标捕捉到鼠标事件时Windows向回调函数发送此消息}
const MY_MESSAGE = WM_USER+0;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation

{$R *.DFM}
{当主Form建立时通知Windows加入小图标}
procedure TForm1.FormCreate(Sender: TObject);
var
nid: TNotifyIconData;
begin
nid.cbSize := sizeof(nid); // nid变量的字节数
nid.Wnd := Handle; // 主窗口句柄
nid.uID := 1; // 内部标识,可设为任意数
nid.hIcon := Application.Icon.Handle; // 要加入的图标句柄,可任意指?
nid.szTip := '这是我的第一个托盘程序,不好别怪我哟!'; // 提示字符串
nid.uCallbackMessage := MY_MESSAGE; // 回调函数消息
nid.uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE; // 指明哪些字段有?
Shell_NotifyIcon(NIM_ADD,@nid);
{将程序的窗口样式设为TOOL窗口,可避免在任务条上出现}
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
end;

{程序被关闭时通知Windows去掉小图标}
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
nid: TNotifyIconData;
begin
nid.cbSize := sizeof(nid); // nid变量的字节数
nid.cbSize := sizeof(nid); // nid变量的字节数
nid.uID := 1; //内部标识,与加入小图标时的数一致
nid.Wnd := Handle; //主窗口句柄
Shell_NotifyIcon(NIM_DELETE, @nid); //去掉小图标
end;

end
blazingfire 2002-04-11
  • 打赏
  • 举报
回复
你说什么我都不知道,如果是作托盘我倒是会。用
Shell_NotifyIcon(dwMessage:DWORD;LpData:TNotifyIconData);

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧