如何实现MSN的弹出气球样子窗口

oceankang 2005-10-08 11:02:07
如何实现MSN的弹出气球样子窗口?最好给一端代码!谢谢
...全文
218 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
weill 2005-10-09
  • 打赏
  • 举报
回复
马克
  • 打赏
  • 举报
回复
就是一般的Shell TrayIcon处理。
WinME、Win2K之后的Windows才支持BalloonHint,Win98或者更早的版本都不支持。
处理是这样的:
TyayIcon的窗口接收到WM_TRAYNOTIFY消息,
检测WPARAM参数,
与BalloonHint有关的是这几个值:
NIN_BALLOONSHOW、
NIN_BALLOONHIDE、
NIN_BALLOONTIMEOUT、
NIN_BALLOONUSERCLICK。
都是死东西,没有什么技术含量,
为了简单,就使用TCoolTrayIcon之类的组件吧。:)
XBox360 2005-10-09
  • 打赏
  • 举报
回复
气球窗口也是普通的一个form
CBC_std 2005-10-09
  • 打赏
  • 举报
回复
学习ing
oceankang 2005-10-09
  • 打赏
  • 举报
回复
大家有没有搞错啊!是MSN在托盘区那里当有人和你说话,你没开窗口时,就在托盘区那里弹出一个气球窗口!
iorizht(风) 你说的是什么意思,能给一段代码吗?
xibingwuqing 2005-10-08
  • 打赏
  • 举报
回复
懂了,thank you all the same
XBox360 2005-10-08
  • 打赏
  • 举报
回复
偶写了一个

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->Left = Screen->Width - Form2->Width;
Form2->Top = Screen->Height;
Form2->Show();
for (int i =0;i<17;i++){ // 偶这里form2高度是160,所以循环到17
Form2->Top = Screen->Height - i*10;
Sleep(100);
}
}

不过有一个问题是偶不知道怎么获得下面任务栏的高度,用Screen->Height算出来的值,最后窗口会被挡住一部分。你可以自己加高点
iorizht 2005-10-08
  • 打赏
  • 举报
回复
用时间控件吧,循环都省了,我倒是有段代码,不过是delphi的,还挺复杂,不过原理就和楼上说的一样
xibingwuqing 2005-10-08
  • 打赏
  • 举报
回复
楼上两位高人,气球样子窗口是哪个窗口,怎么找不到啊?
XBox360 2005-10-08
  • 打赏
  • 举报
回复
用一段循环,中间sleep一下,每次让form的高度增加一点

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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