在Visual FoxPro 3.0中定制透明的立体按钮

Author: 闫东 Date: 1997-01-01

  在制作多媒体软件时,有时需要设计有透明效果的立体按钮,Visual FoxPro 3.0所提供的“不可见按钮”无法满足这一要求,但我们可以利用标签(LABEL)与形状(SHAPE)的组合来完成这一设计。
  1.进入Visual FoxPro 3.0系统环境,在命令行窗口中键入Create Form或在“文件”菜单中选择“新建”、“表单”,即可建立一个新的表单(FORM1),并设置FORM1的Picture属性为一个Windows位图文件(.BMP)。
  2.鼠标点击“表单控制栏”中的“形状”,并在FORM1上拉出一个矩形方框(SHAPE1)。以同样方法创建SHAPE2、SHAPE3和SHAPE4。在属性窗口中对这四个SHAPE的属性进行如下设置:
  SHAPE1:
   BackColor=RGB(255,255,255)
   BorderColor=RGB(255,255,255)
   Height=3
   Left=120
   Top=80
   Width=90
  SHAPE2:
   BackColor=RGB(0,0,0)
   BorderColor=RGB(0,0,0)
   Height=3
   Left=120
   Top=112
   Width=90
  SHAPE3:
   BackColor=RGB(255,255,255)
   BorderColor=RGB(255,255,255)
   Height=35
   Left=120
   Top=80
   Width=3
  SHAPE4:
   BackColor=RGB(0,0,0)
   BorderColor=RGB(0,0,0)
   Height=35
   Left=207
   Top=80
   Width=3
  3.用鼠标点击“表单控制栏”中的“标签”,并在FORM1上拉出一个矩形方框(LABEL1),调整其大小以刚好嵌入四个SHAPE中。设置它的属性Caption为定制的按钮的标题,Alignment为2,Backstyle为0。
  4.双击LABEL1,编写LABEL1的MouseDown过程如下:
  Oldtop=Thisform.Shape1.Top
  Oldleft=Thisform.Shape3.Left
  Thisform.Shape1.Top=Thisform.Shape2.Top
  Thisform.Shape3.Left=Thisform.Shape4.Left
  Thisform.Shape2.Top=Oldtop
  Thisform.Shape4.Left=Oldleft
  在LABEL1的MouseUp过程中编写同样内容。
  5.按鼠标右键点击FORM1,在弹出菜单中选择“运行”即可。若在“文件”菜单中选择“另存为类…”将其以类的形式存储,则可一劳永逸地在其它程序中直接调用。
  以上程序在Visual FoxPro 3.0及Windows 95中运行通过。