try this:///need uses shellapiconst
{Put Your Const Here!!}
icon_Id=1;
icon_click_even=wm_user+1;
procedure icon_click(var msg: Tmessage); message icon_click_even;var
normalicon:ticon;function install_icon():boolean;
var
icondata:tnotifyicondata;
begin
normalicon:=ticon.create;
normalicon.loadfromfile('gao2.ico'); //¶ÁÈëͼ±êÎļþ£¬²¢½«Ö¸Õ붨λ
icondata.cbsize:=sizeof(icondata); //¶¨Òå´Ë½á¹¹ÌåµÄ´óС
icondata.wnd:=form1.handle; //½ÓÊÕ״ָ̬ʾÇøÊó±êʼþµÄ´°¿ÚµÄ¾ä±ú£¬ÀýÈ磺form1.handle;
icondata.uid:=icon_id; //ͼ±êµÄIDºÅ£¬¼´Í¼±êµÄ±àºÅ;
icondata.uflags:=nif_icon or nif_message or nif_tip;
//¾ö¶¨"NIF_icon","NIF_MESSAGE","NIF_TIP"ÕâÈý¸ö²ÎÊýÊÇ·ñÓÐЧ
// NIF_MESSAGE 0X1 (uCallbackMessage²ÎÊýÓÐЧ)
// NIF_ICON 0X2 (hicon is valid²ÎÊýÓÐЧ)
// NIF_TIP 0X4 (szTip is valid²ÎÊýÓÐЧ)
icondata.ucallbackmessage:=icon_click_even;
icondata.hicon:=normalicon.handle;
icondata.sztip:='你今天有'+inttostr(DataModule1.ADODataSet1.RecordCount)+'封邮件需处理');
shell_notifyicon(nim_add,@icondata);
//show_trayicon:=true;
end;procedure Tform1.icon_click(var msg: Tmessage);
var
p:tpoint; //¶¨ÒåÒ»¸öÖ¸Õë±äÁ¿
begin
if(msg.lparam=wm_rbuttondown) then //¶Ô½ÓÊÕµ½²ÎÊý½øÐд¦Àí
begin
getcursorpos(p); //È¡Êó±êµÄ×ø±ê
pop1.popup(p.x,p.y); //ÔÚ¸ÃλÖÃÏÔʾ²Ëµ¥
end;
if(msg.lparam=wm_lbuttondown) then
begin
MainFrm.show;
......
end;
end;procedure TMainFrm.FormShow(Sender: TObject);
begin
if DataModule1.ADODataSet1.RecordCount<>0 then
showmessage('你今天有'+inttostr(DataModule1.ADODataSet1.RecordCount)+'封邮件需处理');
install_icon;
else MainFrm.hide;
end;
{Put Your Const Here!!}
icon_Id=1;
icon_click_even=wm_user+1;
procedure icon_click(var msg: Tmessage); message icon_click_even;var
normalicon:ticon;function install_icon():boolean;
var
icondata:tnotifyicondata;
begin
normalicon:=ticon.create;
normalicon.loadfromfile('gao2.ico'); //¶ÁÈëͼ±êÎļþ£¬²¢½«Ö¸Õ붨λ
icondata.cbsize:=sizeof(icondata); //¶¨Òå´Ë½á¹¹ÌåµÄ´óС
icondata.wnd:=form1.handle; //½ÓÊÕ״ָ̬ʾÇøÊó±êʼþµÄ´°¿ÚµÄ¾ä±ú£¬ÀýÈ磺form1.handle;
icondata.uid:=icon_id; //ͼ±êµÄIDºÅ£¬¼´Í¼±êµÄ±àºÅ;
icondata.uflags:=nif_icon or nif_message or nif_tip;
//¾ö¶¨"NIF_icon","NIF_MESSAGE","NIF_TIP"ÕâÈý¸ö²ÎÊýÊÇ·ñÓÐЧ
// NIF_MESSAGE 0X1 (uCallbackMessage²ÎÊýÓÐЧ)
// NIF_ICON 0X2 (hicon is valid²ÎÊýÓÐЧ)
// NIF_TIP 0X4 (szTip is valid²ÎÊýÓÐЧ)
icondata.ucallbackmessage:=icon_click_even;
icondata.hicon:=normalicon.handle;
icondata.sztip:='你今天有'+inttostr(DataModule1.ADODataSet1.RecordCount)+'封邮件需处理');
shell_notifyicon(nim_add,@icondata);
//show_trayicon:=true;
end;procedure Tform1.icon_click(var msg: Tmessage);
var
p:tpoint; //¶¨ÒåÒ»¸öÖ¸Õë±äÁ¿
begin
if(msg.lparam=wm_rbuttondown) then //¶Ô½ÓÊÕµ½²ÎÊý½øÐд¦Àí
begin
getcursorpos(p); //È¡Êó±êµÄ×ø±ê
pop1.popup(p.x,p.y); //ÔÚ¸ÃλÖÃÏÔʾ²Ëµ¥
end;
if(msg.lparam=wm_lbuttondown) then
begin
MainFrm.show;
......
end;
end;procedure TMainFrm.FormShow(Sender: TObject);
begin
if DataModule1.ADODataSet1.RecordCount<>0 then
showmessage('你今天有'+inttostr(DataModule1.ADODataSet1.RecordCount)+'封邮件需处理');
install_icon;
else MainFrm.hide;
end;
解决方案 »
- 菜鸟问题,如何得到一个表的列名?还有,GetFieldNames如何用?
- =====请问DELPHI自带的树形控件都有哪些?=====
- bcb to delphi 语法转换
- 如何从内存中卸载一个模块
- 在delphi中如何得到星期?
- 讨论,delphi+win98和delphi+win2000的不同
- 五百分求购像QQ一样可以在广域中聊天的源码!
- 报表问题紧急求救!!!!!!!!!
- 怎么样可以取得某软件在播放窗口,并对其对比度,饱和度和亮度进行调节?
- Clieht/Server + SqlServer7.0 紧急问题
- 一个很easy 的问题!在线等待,立即给分!
- 如何利用程序实现将SQLSERVER7.0的数据在某一设定时间中进行数据备份(不用SQL自带的Maintenance Plan)
var
s:tnotifyicondata;
begin
//将s记录填写完成
shell_notifyicon(nim_add,@s);
end;
你在SHOW事件里这样写,如果记录个数不等于0,则showmessage,然后窗体
show出来,用showwindow函数就该行了。
to GWFXP:你的方法好象可以实现的样子, 可惜我看不懂, 手上也没有资料可查,能推荐网上的资料或具体的书本给我么?