我在我的用户控件上使用 VB6 PictureBox。我设置了 PictureBox 的图片,我将 BorderStyle 设置为 0,并将 BackColor 设置为用户控件的 BackColor。这个想法是我想要一个“浮动”图标。但是,我希望当鼠标悬停在该图标上时该图标显示为可点击。
两个问题:
我使用哪些事件?MouseMove 似乎是最接近“MouseOver”事件的。有没有更清洁的替代品?
我应该如何改变风格?我已经尝试了一些东西,但它们看起来都不对。
我在我的用户控件上使用 VB6 PictureBox。我设置了 PictureBox 的图片,我将 BorderStyle 设置为 0,并将 BackColor 设置为用户控件的 BackColor。这个想法是我想要一个“浮动”图标。但是,我希望当鼠标悬停在该图标上时该图标显示为可点击。
两个问题:
我使用哪些事件?MouseMove 似乎是最接近“MouseOver”事件的。有没有更清洁的替代品?
我应该如何改变风格?我已经尝试了一些东西,但它们看起来都不对。
MouseMove 是 VB6 中的正确事件。您必须做一些工作来手动检测鼠标何时干净地离开客户区。(我在这个世界上的实验,很多年前,总是发现实现这种行为很棘手。)
为了改变风格,我建议使用 GDI 来:(a)将图像向上和向左移动一个像素;(b) 在 ButtonHighlightColor 中沿顶部和左侧边缘绘制一条像素线;(c) 在 ButtonShadowColor 中沿底部和右侧边缘绘制一条像素线。这比听起来更棘手,特别是在 VB6 中,所以最终我建议......
那你看看vbAccelerator 的工具栏控件。它们是免费的,它们可能会带您到达您想去的大部分地方。(是的,它们是“经典”VB——也就是 VB6。)