下面示例显示了如何使用形状控制和 curvature 属性,在表单上显示圆、椭圆或矩形。创建表单,在表单上放置一组选项按钮和命令按钮。当单击一个选项按钮时,表单上显示相应的形状。每个形状的 height、width 和 curvature 属性决定了要创建的形状类型(圆、椭圆或正方形)。curvature 属性为 99 时,则创建圆和椭圆。
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