如何用DELPHI制作浮动消息窗

naochen 2004-08-10 09:13:18
我想制作一个象QQ一样提示窗,在QQ中当有人上线时QQ会提示你XX上线 过一会又自动消失,不影程序运行。请问如何制作
谢谢
...全文
348 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxgyj 2004-11-17
  • 打赏
  • 举报
回复
用两个timer
一个控制缓缓自下而上的移动:form1.top:=
一个控制窗件的透明度的变化:form1.AlphaBlendvalue:=
herman~~ 2004-11-17
  • 打赏
  • 举报
回复
做成这样吧:效果还可以。
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Top := Screen.Height-Form1.Height;
Form1.Left := Screen.Width - Form1.Width;
AnimateWindow(Handle,2000{速度:2秒},AW_BLEND);
SysTmrTimer.Enabled := true;
end;

procedure TForm1.SysTmrTimerTimer(Sender: TObject);
begin
form1.Close;
end;
herman~~ 2004-11-17
  • 打赏
  • 举报
回复
学习
Frank.WU 2004-11-17
  • 打赏
  • 举报
回复
用MSNFORM也可以
kejian 2004-11-16
  • 打赏
  • 举报
回复
这种问题也问人。。。
deepWATERblue 2004-11-16
  • 打赏
  • 举报
回复
UP.
ExSystem 2004-08-11
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Top := Screen.Height-Form1.Height;
Form1.Left := Screen.Width - Form1.Width;

AnimateWindow(Handle,2000{速度:2秒},AW_BLEND);
{可以用以下替换,作出多重效果…
AW_HOR_POSITIVE = $00000001;
AW_HOR_NEGATIVE = $00000002;
AW_VER_POSITIVE = $00000004;
AW_VER_NEGATIVE = $00000008;
AW_CENTER = $00000010;
AW_HIDE = $00010000;
AW_ACTIVATE = $00020000;
AW_SLIDE = $00040000;
AW_BLEND = $00080000;
}
end;
ExSystem 2004-08-11
  • 打赏
  • 举报
回复
Procedure TForm1.FormCreate(Sender: TObject);
Begin
Form1.Top := Screen.Height;
Form1.Left := Screen.Width - Form1.Width;
SysTmrTimer.Enabled := True;
End;

Procedure TForm1.SysTmrTimerTimer(Sender: TObject);//SysTmrTimer是个Timer
Begin
//请将Interval属性设为10…
Form1.Top := Form1.Top - 1;
If Form1.Top = Screen.Height - Form1.Height Then
SysTmrTimer.Enabled := False;
End;

End.
ExSystem 2004-08-11
  • 打赏
  • 举报
回复
去我blog就会知道了,我有一篇文章,写的就是这个,有许多效果的。
http://blog.csdn.net/greatsuperyoyonc
zfang 2004-08-11
  • 打赏
  • 举报
回复
mark
人鱼传说 2004-08-11
  • 打赏
  • 举报
回复
time:integer//在form1中的var中声明
人鱼传说 2004-08-11
  • 打赏
  • 举报
回复
给个引子给你,也许能实现你的想法:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
time:=time+10;
if form1.AlphaBlendvalue>10 then
form1.AlphaBlendValue:=255-time
else
close;
end;
//注:form1.AlphaBlendvalue初始值255
form1.AlphaBlend初始值true
Xiaowq 2004-08-11
  • 打赏
  • 举报
回复
Sumie@Sam 2004-08-11
  • 打赏
  • 举报
回复
可以用AnimateWindow
yinweixian 2004-08-11
  • 打赏
  • 举报
回复
没做过,想来不难。
juliens 2004-08-11
  • 打赏
  • 举报
回复
有个三方控件支持这样的功能,但是哪个我就忘了!Raize??好像是的!
kencharles 2004-08-10
  • 打赏
  • 举报
回复
应该比较复杂!
才子鸣 2004-08-10
  • 打赏
  • 举报
回复
不简单
sxtdxvb 2004-08-10
  • 打赏
  • 举报
回复
你说的是不是像msn那样 呵呵

没做过,不过觉得不是太难

1.首先窗口不能太古板(可用vclskin)
2.要有简单的动画效果

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧