我做了个托盘
代码:
var
nid: TNotifyIconData;
sql:string;
begin
nid.cbSize:= sizeof(nid); // nid变量的字节数
nid.Wnd := Handle; // 主窗口句柄
nid.uID :=1; // 内部标识,可设为任意数
nid.hIcon := Application.Icon.Handle; // 要加入的图标句柄,可任意指?StrCopy(nid.szTip, pchar(label2.Caption+getstr)); // 提示字符串
nid.uCallbackMessage := MY_MESSAGE; // 回调函数消息
nid.uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE; // 指明哪些字段有?
红字部分是鼠标移到小图标商议后会显示一个提示消息:
当日销售金额:问题是要怎么写才能使这个提示消息 在程序运行中随着 getstr 的变化而变化?
比如程序托盘时,我的getstr变成了1000(之前是100)要怎么样写代码才能使的提示小心也相应变成:当日销售金额:1000
求学习啊,在线等
代码:
var
nid: TNotifyIconData;
sql:string;
begin
nid.cbSize:= sizeof(nid); // nid变量的字节数
nid.Wnd := Handle; // 主窗口句柄
nid.uID :=1; // 内部标识,可设为任意数
nid.hIcon := Application.Icon.Handle; // 要加入的图标句柄,可任意指?StrCopy(nid.szTip, pchar(label2.Caption+getstr)); // 提示字符串
nid.uCallbackMessage := MY_MESSAGE; // 回调函数消息
nid.uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE; // 指明哪些字段有?
红字部分是鼠标移到小图标商议后会显示一个提示消息:
当日销售金额:问题是要怎么写才能使这个提示消息 在程序运行中随着 getstr 的变化而变化?
比如程序托盘时,我的getstr变成了1000(之前是100)要怎么样写代码才能使的提示小心也相应变成:当日销售金额:1000
求学习啊,在线等
解决方案 »
- 线程类中使用Txmldocument组件错误
- 请问谁知道在delphi5.0下没有安装Excel,把dbgrid控件中的数据生成Excel文件。(求完整源代码送高分)
- 惨了,用户要在EHLIB的汇总栏自己写东西,大家说该怎么办?
- 请问:if (StrLen(PChar(HWSHOPDATA)) <> 3) then HWSHOPDATA:='';是什么意思?
- 如何遍历系统中所有窗口的HWND?
- 怎样作出象XP一样的界面效果?
- 江湖救急:关于打印中一些内容转换的问题?
- 为何会出现这错误,请高手大虾们帮忙解决
- 大家遇到这种情况吗(跟编程无关)!
- 哪里有软件设计报告的范例(高分赠送)
- 请教大家一个问题:可以输入文字,也可以粘贴图片,用哪个控件比较简单?
- 两个DBChart使用TbarSeries,一样的代码效果却不同
getstr 是一个function 而且 以上托盘图标代码是写在formcreat里面的,请楼上写明代码啊谢谢了
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShellApi, Menus, ExtCtrls;const
WM_TRAYNOTIFY=WM_USER+1;type
TForm1 = class(TForm)
Button1: TButton;
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure WndProc(var Msg:TMessage);override;
end; var
Form1: TForm1;
i:Integer;
implementation {$R *.dfm} var
NotifyIcon: TNotifyIconData; procedure TForm1.Button1Click(Sender: TObject);
begin
with NotifyIcon do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := Handle;
uID := 1;
uFlags := NIF_ICON + NIF_TIP + NIF_MESSAGE;
uCallbackMessage := WM_TRAYNOTIFY;
hIcon := Application.Icon.Handle;
szTip := '临时测试程序';
end;
Shell_NotifyIcon(NIM_ADD, @NotifyIcon);
Form1.Visible := False;
end;procedure TForm1.WndProc(var Msg:TMessage);
var
IconID:Integer;
pt:TPoint;
begin
if Msg.Msg = WM_TRAYNOTIFY then
begin
IconID:= Msg.WParam;
GetCursorPos(pt);
case Msg.LParam of
WM_LBUTTONDOWN:
begin
//鼠标右键按下
end;
WM_RBUTTONDOWN:
begin
//鼠标左键按下
end;
WM_LBUTTONUP:
begin
//释放鼠标左键
end;
WM_RBUTTONUP:
begin
//释放鼠标右键
end;
WM_MOUSEMOVE:
begin
//鼠标在图标上移动
NotifyIcon.szTip := '移动';
Shell_NotifyIcon(NIM_MODIFY, @NotifyIcon);
end;
WM_LBUTTONDBLCLK:
begin
//鼠标左键双击
end;
WM_RBUTTONDBLCLK:
begin
//鼠标右键双击
end;
end;
end else
inherited;
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
Shell_NotifyIcon(NIM_DELETE, @NotifyIcon);
end; end.