![9b1b8945b23b137d243cad15897c6f03.png](https://img-blog.csdnimg.cn/img_convert/9b1b8945b23b137d243cad15897c6f03.png)
大家好,我们今日继续讲解VBA代码解决方案的第98讲内容:高亮显示按钮。在之前的讲解中,我讲过点击某单元格,相应的行、列会高亮显示。那么这种效果在我自定义的窗体客户能实现呢?或者说当我的鼠标略过控件时,控件会高亮显示呢?当然,VBA真的是无所不能。
为了达到当鼠标掠过按钮控件时以高亮和凸起显示按钮的效果,可以在窗体和按钮的MouseMove事件中进行模拟。什么是MouseMove事件呢?
MouseMove,在移动鼠标时发生,语法是一个对象表达式,与对象库相关。MouseMove事件伴随鼠标指针在对象间移动时连续不断地产生。除非有另一个对象捕获了鼠标,否则,当鼠标位置在对象的边界范围内时该对象就能接收 MouseMove事件。
注意:MouseMove事件的 button 参数与 MouseDown 和 MouseUp 事件的 button 参数是不同的。对于 MouseMove事件来说,button 参数指示的是所有按钮当前的状态;一个 MouseMove事件可指示某些、全部或没有一个按钮被按下。对于 MouseDown 和 MouseUp 事件来说,button 参数在每个事件精确地指示一个按钮。在 MouseMove事件中任何时候移动窗口,都能引起层叠事件。当该窗口移动到指针下面时 MouseMove事件将产生。即使是鼠标完全不动 MouseMove事件也能产生。
下面我们模拟一下高亮的效果:如下面的代