下例创建一个选项组控制并将该控制放置在表单中。选项组控制有三个按钮,根据用户单击的选项按钮,显示一个圆、椭圆或正方形。buttoncount 属性用于指定选项组中的按钮数。buttons 和 caption 属性用于指定显示在每一选项按钮旁的文本。
形状控制用于创建圆、椭圆和正方形。选项组控制的 click 事件采用 do case…endcase 结构,并在用户单击一个选项按钮时,value 属性显示相应的形状。
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