写托盘效果的程序,如何弹出汽泡式信息对话框(如MSN的对话提示)?

lsk2000 2003-11-04 03:03:27
不用控件,用代码实现,老大们给点看法!
...全文
55 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsk2000 2003-11-05
  • 打赏
  • 举报
回复
多谢,分没问题! :)
ylmg 2003-11-04
  • 打赏
  • 举报
回复
好久没有出山了,要给点分鼓励一下哦:)
ylmg 2003-11-04
  • 打赏
  • 举报
回复
procedure TGeniusFm.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WndParent:= GetDesktopWindow;
Params.EXStyle:=Params.ExStyle or WS_EX_TOOLWINDOW;
end;

Params.WndParent:= GetDesktopWindow保证弹出的小窗体能始终在上
Params.EXStyle:=Params.ExStyle or WS_EX_TOOLWINDOW;保证窗体不会夺的焦点

当然,如果你想象msn一样,弹出多个窗口,并且能通过这个窗体操作应用程序,呵呵,你自己想想怎么办吧


aiirii 2003-11-04
  • 打赏
  • 举报
回复
想法不錯, 關注
lsk2000 2003-11-04
  • 打赏
  • 举报
回复
多谢几位,还有个问题:
MSN中,当有好友上线或收到新邮时都会在桌面的右下角移出一小窗口,
就是在游戏中,这小窗口也会显示在最上面,而普通的窗口在游戏中是没法"显示"的
而且它不会夺取当前窗体的焦点。

这是怎么实现的呢?
cxreal 2003-11-04
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.left:=Screen.Width-form1.width;
form1.top:=screen.height-form1.height;
AnimateWindow(Self.Handle, 1250, AW_VER_NEGATIVE or AW_ACTIVATE);
end;

procedure TForm1.button1Click(Sender: TObject);
begin
with form1 do begin
while height>0 do begin
top:=top+5;
height:=height-5;
end;
end;
close;
end;
rick29 2003-11-04
  • 打赏
  • 举报
回复
搞个窗口,在程序里先定位到右下角,然后在用循环控制窗口高度,从0到实际高度。当然中间可能需要Sleep几毫秒,也可能要Repaint窗口。或者可以考虑使用AnimateWindow函数。可见这:http://expert.csdn.net/Expert/topic/2399/2399427.xml?temp=.9465753
lxwstar 2003-11-04
  • 打赏
  • 举报
回复
持观望态度。:)

5,388

社区成员

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

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