Hoodlum1980 (fafa)'s Technological Blog

Languages mainly using and digging: C / CPP, ASM, C#, Python. Other languages:Java.

博客园 首页 新随笔 联系 订阅 管理

          以前写过一篇文章,是用 C# 的自绘制窗口做了一个 Balloon Tip 。这里由于讲的还是 BalloonTip ,所以作为前文的后续。不同的是,这一次是用 windows sdk 的 API  函数直接创建一个 ToolTip 窗口,然后我们就得到了 ToolTip 的窗口句柄,然后可以把 ToolTip 定位到屏幕任意的位置自然就是很简单的事。还是借用上次演示MSN式浮出通知窗口的例子,只是加入了 ToolTip 的相关代码。效果如下:

          

 

          代码比较简单,详见附件中的tooltip.h , tooltip.c。

          创建tooltip窗口用的是 CreateWindow, 窗口类名是“Tooltips_Class32”。 第一个参数 isBalloon 指定创建 ToolTip 的形状,如果为 TRUE 则创建的是“balloon”型的 ToolTip,也就是类似卡通画里的会话气泡,则显示时的位置坐标(x,y)是气泡的箭头指向点的坐标。否则创建的是普通的矩形ToolTip,显示时的位置坐标(x,y)是ToolTip窗口的某个端点(例如左上角)的坐标。

Code_CreateToolTip

 

 

          显示ToolTip时,设置标题,文本,指向位置,是通过给窗口发送属于 ToolTip 的以 “TTM_” 为前缀的消息来完成的。然后我们通过一个定时器设置ToolTip在屏幕上显示的时间。  

Code_ShowToolTip

 

 

          最后是源代码下载链接(和前文下载链接一致):

          https://files.cnblogs.com/hoodlum1980/NotifyWndDemo2.rar

posted on 2009-03-27 03:47  hoodlum1980  阅读(2734)  评论(2编辑  收藏  举报