特殊窗体的创建?(类似MSN信息提示窗口)(100分)

  • 主题发起人 wind2000
  • 开始时间
W

wind2000

Unregistered / Unconfirmed
GUEST, unregistred user!
大家有用过MSN吧,当有好友上线或收到新邮时都会在桌面的右下角移出一小窗口,<br>就是在游戏中,这小窗口也会显示在最上面,而普通的窗口在游戏中是没法"显示"的,<br>按Alt+Tab切换窗口又会让游戏最小化,请问这种窗口是怎么做出来的?<br>
 
J

jsxjd

Unregistered / Unconfirmed
GUEST, unregistred user!
设置 Form 的 FormStyle 为 fsStayOnTop
 
W

wind2000

Unregistered / Unconfirmed
GUEST, unregistred user!
to jsxjd:<br>&nbsp; &nbsp;哎,要是这么简单我也不会问了!请注意是要在游戏中...你写个简单的小程序,只要一<br>个窗体,然后设置窗体的FormStyle为fsStayOnTop,运行该程序,然后选择一个游戏,如:<br>《疯狂坦克》,看你的程序会不会在最上面?
 
B

boyface

Unregistered / Unconfirmed
GUEST, unregistred user!
gz,我看到FOXMAIL也有这样的提示窗口的。
 
K

kkyy

Unregistered / Unconfirmed
GUEST, unregistred user!
要用API,SetWindowsPos的,
 
W

wind2000

Unregistered / Unconfirmed
GUEST, unregistred user!
没人会吗?不可能的吧,Foxmail也是用Delphi写的嘛!
 
P

pengjinlongex

Unregistered / Unconfirmed
GUEST, unregistred user!
托盘+HOOK
 
A

afei2002

Unregistered / Unconfirmed
GUEST, unregistred user!
本人等待中~~~~
 

飘摇客

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi中可以使用AnimateWindow函数实现那种弹出,要在所有的窗体上还需要研究,<br>我有一个使用VS.NET写的例子,有源码,你可以看看。<br>http://wolfsoft.nugoo.com/srcdetail.asp?flag=4&amp;id=117
 
C

citybug

Unregistered / Unconfirmed
GUEST, unregistred user!
function boolean AnimateWindow ( long hwnd, long dwtime, long dwflags ) library "user32" <br><br>constant long &nbsp;AW_HOR_POSITIVE &nbsp; &nbsp; &nbsp;= 1 <br>constant long AW_HOR_NEGATIVE = &nbsp;2 <br>constant long AW_VER_POSITIVE = &nbsp;4 <br>constant long AW_VER_NEGATIVE = 8 <br>constant long AW_CENTER = 16 <br>constant long AW_HIDE = &nbsp; 65526 <br>constant long AW_ACTIVATE &nbsp; = &nbsp;131072 <br>constant long AW_SLIDE = 262144 <br>constant long AW_BLEND = 524288 <br><br>show::<br>ll_handle = Handle ( This ) <br>AnimateWindow ( ll_handle, 1000, AW_SLIDE + &nbsp;AW_CENTER + AW_ACTIVATE &nbsp;) <br><br>close::<br>ll_handle = Handle ( This ) <br>AnimateWindow ( ll_handle, 300, AW_SLIDE + &nbsp; AW_HIDE + AW_CENTER )
 
W

wind2000

Unregistered / Unconfirmed
GUEST, unregistred user!
AnimateWindow只不过是用来动态显示窗口用的,它不是用来设置窗体类型的,而是设置窗体<br>怎样显示出来,我想用它也没法让一个普通窗口在"游戏"中显示出来吧!
 
W

wind2000

Unregistered / Unconfirmed
GUEST, unregistred user!
哎...还是没人懂吗?:(<br>再顶一下,不行只好结了...
 
W

wangfu

Unregistered / Unconfirmed
GUEST, unregistred user!
用一个线程来创建
 
D

DLLKing

Unregistered / Unconfirmed
GUEST, unregistred user!
那个小窗口是用微软的Agent技术做的,相信大家都会在Delphi中调用Agent小动画精灵吧!你可以用<br>微软公司的Agent小动画的制作工具来制作那个小窗口,我们大多数人可能由于不是搞美工的,<br>所以,不会做能动的小动画精灵,但做个方方正正的窗口,应该可以的,做好后在Delphi中调用,<br>就可以了!那个小工具是Microsoft Agent Character Editor,到处都有下载,另外,<br>http://www.helperstudio.com/Index.asp 和 http://f4f4.51.net/index.htm 有不少调用小精灵的<br>例子程序,有Delphi的,有VC++的,有C++Builder的
 
S

seaoy

Unregistered / Unconfirmed
GUEST, unregistred user!
给你个VB版的要不要?
 
W

wind2000

Unregistered / Unconfirmed
GUEST, unregistred user!
要<br>ph11@91858.com
 
W

wind2000

Unregistered / Unconfirmed
GUEST, unregistred user!
to seaoy:<br>&nbsp; &nbsp;你给的那个好象也不能在游戏中显示吧,也是窗体的一种显示方式而已,不合题意!<br>请注意审题!我要的不是窗体怎么支持(动作?),而是同游戏共存,当游戏支持时,我的<br>程序能够在游戏界面之上显示,而游戏不最小化。
 
顶部