下面示例演示了如何在表单中使用 shape 控制显示圆、椭圆或正方形,以及怎样用 backcolor 属性来指定每一形状的颜色。
创建一个表单,并且将一个命令按钮和一组选项按钮放置在表单上。当选择某一选项按钮时,表单上将显示相应的形状。
backcolor 属性可用于指定每一形状的颜色。每一形状的 height、
width 和 curvature 属性决定其类型。
frmmyform = createobject('form') && 创建一个表单
frmmyform.closable = .f. && 使控制菜单框无效
frmmyform.addobject('cmdcommand1','cmdmycmndbtn') && 添加命令按钮
frmmyform.addobject('opgoptiongroup1','opgmyoptgrp') && 添加选项组
frmmyform.addobject('shpcircle1','shpmycircle') && 添加圆
frmmyform.addobject('shpellipse1','shpmyellipse') && 添加椭圆
frmmyform.addobject('shpsquare','shpmysquare') && 添加框
frmmyform.cmdcommand1.visible =.t. && "退出"命令按钮可见
frmmyform.opgoptiongroup1.buttons(1).caption = "\<circle"
frmmyform.opgoptiongroup1.buttons(2).caption = "\<ellipse"
frmmyform.opgoptiongroup1.buttons(3).caption = "\<square"
frmmyform.opgoptiongroup1.setall("width", 100) && 设置选项组宽度
frmmyform.opgoptiongroup1.visible = .t. && 选项组可见
frmmyform.opgoptiongroup1.click && 显示圆
frmmyform.show && 显示表单
read events && 启动事件处理
define class opgmyoptgrp as optiongroup && 创建一个选项组
buttoncount = 3 && 三个选项按钮
top = 10
left = 10
height = 75
width = 100
procedure click
thisform.shpcircle1.visible = .f. && 隐藏圆
thisform.shpellipse1.visible = .f. && 隐藏椭圆
thisform.shpsquare.visible = .f. && 隐藏正方形
do case
case thisform.opgoptiongroup1.value = 1
thisform.shpcircle1.visible = .t. && 显示圆
case thisform.opgoptiongroup1.value = 2
thisform.shpellipse1.visible = .t. && 显示椭圆
case thisform.opgoptiongroup1.value = 3
thisform.shpsquare.visible = .t. && 显示正方形
endcase
enddefine
define class cmdmycmndbtn as commandbutton && 创建命令按钮
caption = '\<quit' && 命令按钮上的标题
cancel = .t. && 默认取消命令按钮 (esc)
left = 125 && 命令按钮列
top = 210 && 命令按钮行
height = 25 && 命令按钮高度
procedure click
clear events && 停止事件处理,关闭表单
enddefine
define class shpmycircle as shape && 创建一个圆
top = 10
left = 200
width = 100
height = 100
curvature = 99
backcolor = rgb(255,0,0) && 红色
enddefine
define class shpmyellipse as shape && 创建一个椭圆
top = 35
left = 200
width = 100
height = 50
curvature = 99
backcolor = rgb(0,128,0) && 绿色
enddefine
define class shpmysquare as shape && 创建一个正方形
top = 10
left = 200
width = 100
height = 100
curvature = 0
backcolor = rgb(0,0,255) && 蓝色
enddefine