请问如何使用delphi7开发类似于outlook邮件通知功能的小窗口 Delphi / ...

来源:百度文库 编辑:神马文学网 时间:2024/04/25 07:31:27
我希望实现类似于outlook邮件通知功能的小窗口,能够自动出现并自动消失,并且当该窗口获得焦点的时候不能把该进程的主窗口切换到最前面。
例如outlook,如果在操作其他应用的时候收到一封邮件,则会出现一个邮件通知的小窗口。如果我不操作该窗口,则该窗口会在一段时间后自动消失;如果我去操作该窗口,但是系统不会自动把outlook切换到最前面。
现在我的困惑就是后面的部分:如何在当我操作该窗口时不会自动把进程的主窗口切换到最前面。 问题点数:50、回复次数:9Top
byteway(byteway)回复于 2006-01-14 16:55:54 得分 30
msnpop   tms都有此类控件!Top
ywx2008(遥遥)回复于 2006-01-14 20:09:00 得分 10
raize控件有!很好用!Top
blkwht()回复于 2006-01-14 22:44:37 得分 0
请问ywx2008(遥遥):raise的哪个版本?控件名称是什么?我没找到......
请问byteway(byteway):msnpop   tms是什么东东?Top
byteway(byteway)回复于 2006-01-14 23:16:28 得分 0
msnpopup   5.0搜索控件
http://people.zeelandnet.nl/famboek/delphi/
TMS套件里有
http://www.delphibox.comTop
blkwht()回复于 2006-01-14 23:36:44 得分 0
我看了一下TMSNPop控件,实现该功能主要是在Popup窗体类中重载了CreateParams方法,在该方法中有这么一段代码:
Params.WndParent   :=   GetDesktopWindow;
这样一来就解决了操作该窗口时不会弹出进程的主窗体,但是在关闭Popup窗体时还是会弹出进程的主窗体啊Top
ywx2008(遥遥)回复于 2006-01-15 08:53:22 得分 0
raise   3.0以上都有
RzGroupBar1
style属性选gbsOutlook
Top
yayx(yayx)回复于 2006-01-15 10:08:03 得分 10
代码太长
看这个www.jy-land.net/temp/MsgFrm.rarTop
blkwht()回复于 2006-01-15 10:40:46 得分 0
ywx2008(遥遥):
你误会了,我说的不是这个控件,我指的是邮件提醒小窗口(就是那个渐变出现/消失的窗口),不过还是要多谢你的帮助。Top
blkwht()回复于 2006-01-15 11:18:01 得分 0
结贴:
感谢byteway(byteway)提供的方法,同时感谢其他朋友的热情参与。
要解决我提出的问题,需要在Popup窗体类中重载了CreateParams方法,并在该方法中有这么一段代码(在TMSNPopup的CreateParams中有):
Params.ExStyle   :=   Params.ExStyle   or   WS_EX_NOACTIVATE;
Params.WndParent   :=   GetDesktopWindow;
这样一来就解决了操作该窗口时不会弹出进程的主窗体,而且在关闭Popup窗体时不会弹出进程的主窗体。