CHoverButton - 使用一个位图和工具提示的简单悬停按钮






4.81/5 (22投票s)
2000年10月13日

427617

6265
一个简单的即插即用类,
引言
在寻找一些漂亮的位图悬停按钮时,我就是找不到我想要的。在这种情况下,你可以做几件事:
- 放弃它。
- 购买它。
- 偷它。
- 免费获得它。
- 开始哭泣。
- 自己动手做(并可能分享它)。
我来分享!
我发现另一个 hoverbutton
类使用了 SetCapture()
和 ReleaseCapture()
。使用这种方法给我带来了一些问题。我不记得为什么了,但确实遇到了。所以我心想,为什么这么复杂呢?MS 有一个不错的 API 来处理悬停状态: _TrackMouseEvent()
。
所以这就是它... 这个类。经过长时间的思考,我决定称它为:CHoverButton
。我使用了一些在其他地方找到的类和信息(感谢提供这些信息的人)。
如何使用?
- 在你的资源编辑器中,创建一个按钮并设置“所有者绘制”属性。
- 使用向导创建一个
CButton
对象在你的dialog
中。 - 在你的
dialog
类文件中包含 "hoverbutton.h" 文件。 - 将
CButton
对象的类型重命名为CHoverButton
。 - 创建一个包含三个按钮状态的位图:按下/释放/悬停。图片需要紧挨着彼此。
按钮将自行计算其size = (位图的宽度)/3
。
你可以在这里使用真彩色位图。请参阅下面的示例图像。 - 在
OnInitDialog()
中,使用mybutton.LoadBitmap(IDC_MYBUTTON);
加载位图。 - 使用
mybutton.SetToolTipText();
设置工具提示。 - 编译并享受吧。
玩得开心!
许可证
本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。
作者可能使用的许可证列表可以在此处找到。