VFP中实现鼠标置上醒目功能
2000-09-19 10:08:52
在Windows中的一些应用系统中,常常有这样的操作效应,在系统提供的命令按钮组中,当把鼠标指针移到某一命令按钮时,这个命令按钮会变得醒目突出,移走鼠标后,按钮又会恢复原态,使用起来非常方便。其实在VFP 6.0中也为我们提供了能够实现这种效果的一个类:_Mouseoverfx。
置上醒目设置类_Mouseoverfx位于VFP系统\Ffc子目录下的_ui.VCX类库中,使用它时,只要先将这个类添加到表单中,并为该类指定适当的属性值,然后在需要作用控件的MouseMove事件中放置一个Highlightme方法的引用,即可轻松实现鼠标置上醒目功能。
类_Mouseoverfx的相关属性、事件和方法说明见表1。
表1 名 称 说 明 nMargin属性 指出控件和醒目之间的边缘,缺省值为2。 iShadowColor属性 指出阴影的颜色代码,缺省值为0。 lMouseoverHost属性 指出鼠标是否在主mousefx上,缺省值为.T.。 nHighlightWidth属性 指出醒目的宽度,缺省值为2。 iHighlightColor属性 指出醒目的颜色代码,缺省值为0。 oCurrentCoolControl属性 该类内部使用,缺省值为“”。 CancelHighlight方法 使用lMouseoverHost的值确定是否有一个醒目的对象需要改变。当ImmouseOver指出当前控件已改变时,设置oCurrentCoolControl为.NULL.并返回真(.T.)。你的子类可以通过检查该返回值或者当前lMouseoverHost的状态,oCurrentCoolControl用适当次数从冷却的控件中“减去”它们自己的特殊影响。 HighlightMe方法 设置当前控件oCurrentCoolControl为toObject指定的对象引用。当它因为当前控件已改变而激活时返回真(.T.)。如果因为当前控件没有改变而不需要激活时返回假(.F.)。你的子类可以使用oCurrentCoolControl属性和该方法的返回值决定它们什么时候激活、提供其它特殊影响,对于有些"当前控件"的特定子类是特殊的。 语法:HighlightMe(ToObject) 返回值Ichange指出当前的控件是否已经改变 参数:toObject指出MouseOver事件影响的对象 为了更好地了解该类的具体使用方法,笔者举一个简单的例子,说明该类的具体使用方法。
新建一个表单,并将_Mouseoverfx类加到表单中。然后在表单内建立四个标签(名称分别为L1、L2、L3、L4),标题均为空,四个标签设为不同的背景颜色值,在每个标签的MouseMove事件中写入如下代码:
Thisform._MouseOverFX1.HighlightMe(This)
设置完毕并执行该表单后,当我们把鼠标移到某个标签时,该标签即会呈现醒目状态,有兴趣的读者不妨一试。
摘自《软件世界》 王守银/文 |
404 Not Found
404 Not Found
nginx
|
|