【问题标题】:VB6 PictureBox MouseoverVB6 图片框鼠标悬停
【发布时间】:2008-11-11 04:51:27
【问题描述】:
我在我的用户控件上使用 VB6 PictureBox。我设置了 PictureBox 的图片,我将 BorderStyle 设置为 0,并将 BackColor 设置为用户控件的 BackColor。这个想法是我想要一个“浮动”图标。但是,我希望当鼠标悬停在该图标上时该图标显示为可点击。
两个问题:
我使用哪些事件? MouseMove 似乎是最接近“MouseOver”事件的。有没有更清洁的替代品?
我应该如何更改样式?我尝试了一些东西,但没有一个看起来很合适。
【问题讨论】:
标签:
vb6
user-interface
events
coding-style
mouse
【解决方案1】:
MouseMove 是 VB6 中的正确事件。您必须做一些工作来手动检测鼠标何时干净地离开客户区。 (我在这个世界上的实验,很多年前,总是发现实现这种行为很棘手。)
为了改变样式,我建议使用 GDI 来: (a) 将图像向上和向左移动一个像素; (b) 在 ButtonHighlightColor 中沿顶部和左侧边缘绘制一条像素线; (c) 在 ButtonShadowColor 中沿底部和右侧边缘绘制一条像素线。这比听起来更棘手,尤其是在 VB6 中,所以最终我会推荐......
你看vbAccelerator's toolbar controls。它们是免费的,它们可能会带您到达您想去的大部分地方。 (是的,它们是“经典”VB——即 VB6。)