下面的示例创建一个选项组控制,并将此控制放置在一个表单上。选项组控制有三个按钮,根据用户按下的选项按钮,显示一个圆、椭圆或正方形。buttoncount 属性用来指定选项组中按钮的数目。buttons 和 caption 属性用来指定在每个选项按钮旁显示的文本。shape 控制用来创建圆、椭圆和正方形。选项组控制的 click
事件使用 do case...endcase 结构和 value 属性,以便在单击选项按钮时显示适当的形状。
frmmyform = createobject('form') && 创建一个表单
frmmyform.closable = .f. && 使 control 菜单框无效
frmmyform.addobject('cmdcommand1','cmdmycmndbtn') && 添加命令按钮
frmmyform.addobject('opgoptiongroup1','opgmyoptgrp') && 添加选项组
frmmyform.addobject('shpcircle1','shpmycircle') && 添加圆
frmmyform.addobject('shpellipse1','shpmyellipse') && 添加椭圆
frmmyform.addobject('shpsquare','shpmysquare') && 添加正方形
frmmyform.cmdcommand1.visible =.t. && 设置 quit 命令按钮可见
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