好像是又这个控件的,但是其实它实现起来很简单,所以我一般都是直接写代码的
OnFormCreate:
var
ShNI:PNotifyIconData;
begin
ShNI:=New(PNotifyIconData);//New一个对象
SHNI.cbSize:=SizeOf(NotifyIconData);
SHNI.Wnd:=MainForm.Handle;//指定接受消息的窗口HANDLE
SHNI.uID:=20000716; //指定一个ID,随便其一个吧
SHNI.uFlags:=NIF_ICON+NIF_MESSAGE+NIF_TIP;//指定它的属性(有图标+消息传递+提示)
ShNI.uCallbackMessage:=WM_USER+1;//传递的消息ID,
ShNI.hIcon:=Application.Icon.Handle;//指定显示的图标,可以通过TICON得到其他的
ShNI.szTip:='Hiding...';//显示提示信息
Shell_NotifyIcon(NIM_ADD,ShNI);//增加图标
end;
OnFormCreate:
var
ShNI:PNotifyIconData;
begin
ShNI:=New(PNotifyIconData);//New一个对象
SHNI.cbSize:=SizeOf(NotifyIconData);
SHNI.Wnd:=MainForm.Handle;//指定接受消息的窗口HANDLE
SHNI.uID:=20000716; //指定一个ID,随便其一个吧
SHNI.uFlags:=NIF_ICON+NIF_MESSAGE+NIF_TIP;//指定它的属性(有图标+消息传递+提示)
ShNI.uCallbackMessage:=WM_USER+1;//传递的消息ID,
ShNI.hIcon:=Application.Icon.Handle;//指定显示的图标,可以通过TICON得到其他的
ShNI.szTip:='Hiding...';//显示提示信息
Shell_NotifyIcon(NIM_ADD,ShNI);//增加图标
end;
解决方案 »
- 请问怎样得到PNG图片的透明区域?
- 在IDE环境下,如果控件排错了,有没有UNDO的命令?
- 如何解决在Timage中连续绘制图形的闪烁问题(救急)
- 解决了立即给分!
- delphi的朋友们 帮我看看这两个问题
- 请帮我看一下,这段代码什么意思?
- 请问各位高手,一根双绞线不经过hub然后直接连接两台机子能进行数据流通吧?
- 小新在啊?请教一个关于TClientDataSet的问题,欢迎高手加入。——千山一刀
- 在DELPHI中怎样使用OCX和DLL?
- ?请问各位高手,有谁知道如何释放webbrowser使用后占用的内存:(,,急急(
- 系统任务栏的问题????
- 请多指教:NT Server 4.0中使用DCOMCNFG设置
var
ShNI:PNotifyIconData;
begin
ShNI:=New(PNotifyIconData);//保证这里的写法和上面要一致,才能成功删除
SHNI.cbSize:=SizeOf(NotifyIconData);
SHNI.Wnd:=MainForm.Handle;
SHNI.uID:=20000716;
SHNI.uFlags:=NIF_ICON+NIF_MESSAGE +NIF_TIP;
ShNI.uCallbackMessage:=WM_USER+1;
ShNI.hIcon:=Application.Icon.Handle;
ShNI.szTip:='Hiding...';
Shell_NotifyIcon(NIM_DELETE,ShNI);
end;
以下是接受消息步骤:
在
TMainForm = class(TForm)
的说明中加入
procedure NotifyIconMessage(var Message:TWMChar);Message WM_USER+1;在最后加入函数
procedure TMainForm.NotifyIconMessage(var Message:TWMChar);
begin
if(Message.KeyData=WM_LBUTTONDBLCLK)then
begin
ShowWindow(MainForm.Handle,SW_SHOW);
ShowWindow(MainForm.Handle,SW_RESTORE);
end;
end;